Estou pensando se devo começar a usar o VIM novamente em vez de um IDE. Quais são os recursos mais úteis do VIM que não são padrão em um IDE?
ide
vim
comparison
Casebash
fonte
fonte
emacs
. ;-)Respostas:
Não acho que sejam necessariamente os recursos avançados do VIM que o tornam tão poderoso. É o fato de você nunca precisar tirar as mãos do teclado para fazer qualquer coisa. Encontrar algo em um arquivo grande é tão simples quanto pressionar algumas teclas. Abrir e fechar vários arquivos na mesma janela também é incrivelmente rápido.
Embora possa não parecer intuitivo a princípio, vale bem a pena. Mesmo que você não o use como seu IDE padrão (eu geralmente uso o Visual Studio ou Eclipse, por exemplo), você se encontrará usando o VIM para abrir e editar arquivos rapidamente, porque fica muito mais rápido do que esperar pelo IDE. carga.
Invista tempo para aprender a usar o VIM bem e você nunca se arrependerá. Eu diria que é comparável a aprender a digitar.
fonte
Para mim, o
:global
comando é um aplicativo matador. Ele executará comandos arbitrários do vim em qualquer linha que corresponda (ou não) a um regex.aqui estão alguns exemplos:
O comportamento padrão é listar todas as linhas correspondentes, portanto:
listará todas as linhas que contêm o texto "TODO:"
altere 'Mickey' para 'Minnie' em qualquer linha que também contenha a palavra 'Mouse'
Os comandos podem ter seu próprio intervalo, portanto, isso será excluído de cada linha com "TODO:" para a próxima linha em branco:
: g / TODO: /., / ^ $ / d
Use: g! executar em todas as linhas que NÃO correspondem ao regex, por exemplo, substituir "emacs" por "vim", exceto nas linhas que contenham a palavra "sucks":
fonte
Acho a capacidade de excluir tudo entre um conjunto de símbolos emparelhados incrivelmente útil. Por exemplo, muitas vezes, eu vou querer substituir uma string no código. Portanto,
di"
enquanto o cursor estiver no bloco, a string será excluída, mantendo a""
intacta e o cursor entre os dois caracteres de aspas.da"
faz a mesma coisa, mas exclui os caracteres de aspas também.fonte
ci"
exclui e coloca o cursor no modo de inserção para que você possa começar a escrever imediatamente.'Conclusão da palavra-chave no modo de inserção'. Ctrl-P e Ctrl-N no modo de inserção para pesquisar o texto e tentar concluir o nome da variável que você está digitando. Nunca vi isso em nenhum outro IDE e sinto muita falta dele. A conclusão do código no IDE simplesmente não é a mesma.
fonte
^X^O
omni-conclui no modo de inserção, se você o tiver ativado. Mas você está certo, eu me vejo usando a conclusão de palavras-chave muito mais do que a omni-completa.Outro recurso que considero incrivelmente útil é a capacidade de alterar o recuo.
:15,30>>
recua todas as linhas de 15 a 30 (inclusive) duas vezes, enquanto:15,30<<
recua as mesmas linhas duas vezes.fonte
=
que é tão, se não mais, útil do que<<
e>>
.o comando dd (excluir linha atual). Eu uso muito este.
Além disso, poder digitar algo como 3dd e excluir as próximas 3 linhas é maravilhoso. Eu nunca vi isso em outro editor = D
fonte
O
c
comando Por exemplo,ci"
para alterar aspas internas.cw
mudar de palavra. Muitos truques úteis com ele.fonte
O
.
comando Repete o último comando.fonte
Esc ! }
empurrará o parágrafo atual para um filtro de linha de comando comofmt
ouwc
ouwhich
retornará os resultados ao editor.fonte
Acesso rápido à linha de comando. CTRL + Z ou: wqa obterá uma linha de comando em menos de 1 segundo sem que minha mão saia do teclado.
fonte
:!/bin/bash
. Eu uso com:!
bastante frequência.:sh
Que eu posso usar
hjkl
para mover o cursor sem precisar sair da tela inicial do teclado. Tenho a maioria dos programas (como leitores de PDF), que permitem alterar as combinações de teclas, configuradas para usar as teclas de movimento do Vim para rolar etc.fonte
Isso é bastante difícil de responder, devido à imprecisão da pergunta e ao fato de que os IDE diferem, e muitos oferecem recursos que outros não (e o fato de eu ter apenas alguns deles).
No entanto, o que acredito distingue o Vim de outros editores (sim, até o Emacs, neste) é que ele é realmente um ótimo editor . Com o passar do tempo, usei muitos editores e posso dizer honestamente que muito poucos vêm com um conjunto tão completo de recursos para manipular texto, como o Vim.
Meu estilo de manipular texto, por exemplo, inclui muitas vezes o uso de duplicação (linha / seleção de várias linhas) e mover (linha / seleção de várias linhas) para cima e para baixo, para as quais há muito tempo eu defini atalhos rápidos. Sinto falta desses recursos na maioria dos IDEs (embora tenha ouvido falar que o ReSharper for VS tem algo semelhante).
fonte
Você sabia que existe um vi plugin para o eclipse ? Custa 15 euros (US $ 20), mas vale a pena. Não há mais
dd
no meio de um documento e falta todas as pequenas coisas úteis.Talvez um pouco fora de tópico, mas achei que valia a pena destacar.
fonte
Dependendo da linguagem que você está programando, atenha-se ao ide ou obtenha o ide que oferece o maior número de refatorações que você pode encontrar, obtenha mais nitidez no visual studio se estiver fazendo c #, intellij para java ou assistência visual no visual studio, maximizar as refatorações em eclipse ou netbeans.
Deveríamos passar da manipulação do texto para o código, as ferramentas de refatoração oferecem essa capacidade. Se o vim oferece todos os recursos, eu não quero mais lidar com um editor de texto
fonte
Seleção da coluna da tabela
Isso não parece estar nos IDEs populares, e se é que eles o mantêm bem escondido. Isso é realmente útil para testar regex em uma coluna no arquivo de dados CSV.
fonte
A maioria dos IDEs não permite dividir a tela. Eu amo esse recurso no VIM.
fonte
<C-w>