ti-enxame.com

Recursos mais úteis de VIM que não são padrão em um IDE

Estou pensando se devo começar a usar VIM novamente em vez de um IDE. Quais são os recursos mais úteis de VIM que não são padrão em um IDE ?

30
Casebash

Eu não acho que sejam necessariamente os recursos avançados do VIM que o tornam tão poderoso. É o fato de que você nunca precisa tirar as mãos do teclado para fazer nada.) O arquivo é tão simples quanto pressionar duas vezes.A abertura e o fechamento de vários arquivos na mesma janela também são incrivelmente rápidos.

Embora possa não parecer intuitivo a princípio, vale bem a pena. Mesmo que você não o use como padrão IDE (geralmente uso o Visual Studio ou Eclipse, por exemplo)), você se encontrará usando VIM = para abrir e editar arquivos rapidamente, porque se torna muito mais rápido do que aguardar o carregamento do IDE.

Invista tempo para aprender a usar VIM bem e você nunca se arrependerá. Eu diria que é comparável a aprender a digitar).

32
Bryan Hales

Para mim o :global command é 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:

:g/TODO:/

listará todas as linhas que contêm o texto "TODO:"

altere 'Mickey' para 'Minnie' em qualquer linha que também contenha a palavra 'Mouse'

:g/Mouse/ s/Mickey/Minnie/

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! para executar em todas as linhas que NÃO correspondem à regex, por exemplo para substituir "emacs" por "vim", exceto nas linhas que contêm a palavra "sucks":

:g!/sucks/ s/emacs/vim/
22
Dave Kirby

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 excluirá a string, mantendo intacto o "" E coloque o cursor entre os dois caracteres de aspas. da" Faz a mesma coisa, mas exclui os caracteres de aspas também.

16
Chinmay Kanchi

'Conclusão da palavra-chave no modo de inserção'. Ctrl-P e Ctrl-N no modo de inserção para pesquisar no texto e tentar concluir o nome da variável que você está digitando. Eu nunca vi isso em nenhum outro IDE e realmente sinto falta disso. A conclusão do código no IDE simplesmente não é a mesma coisa.

9
Lang Sharpe

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.

8
Chinmay Kanchi

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

6
Alex Hart

O comando c. Por exemplo, ci" para alterar aspas internas. cw para alterar o Word. Muitos truques úteis com ele.

6
Daenyth

O . comando. Repete o último comando.

5
Adam Jaskiewicz

Esc ! } empurrará o parágrafo atual para um filtro de linha de comando como fmt ou wc ou which e retornará os resultados ao editor.

3
Jé Queue

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.

3
luispedro

Que eu possa usar hjkl para mover o cursor sem precisar sair da tela inicial do teclado. Eu tenho a maioria dos programas (como PDF leitores)), que permitem alterar as combinações de teclas, configuradas para usar as teclas de movimento do Vim para rolar etc.

3
Anto

Você sabia que existe um vi plugin para Eclipse ? Custa 15 euros (US $ 20), mas vale a pena . Chega de 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.

1
lorenzog

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 eu 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).

1
Rook

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 no Eclipse ou no 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

0
Harald Scheirich