Isso pode parecer um pouco exagerado, mas mudei para o vim e estou muito feliz com o fluxo de trabalho agora. Tento me disciplinar a não usar as teclas de seta, pois manter as mãos nas teclas alfa o tempo todo é algo muito importante ao escrever. Portanto, quando preciso navegar, saio do modo de inserção, passo no modo normal e volto ao modo de inserção.
Há uma exceção em que isso é realmente mais perturbador: eu uso clang complete
com trechos e super tab
isso é ótimo. Exceto toda vez que eu obtenho uma função concluída automaticamente depois de preencher os parâmetros, fico com o cursor antes )
e, para continuar, tenho que mover o cursor um caractere para a direita. Como você pode imaginar, isso acontece com muita frequência .
As únicas opções que tenho (tanto quanto sei) são: Esclaou →, e não estou feliz com nenhuma delas. O primeiro me faz pressionar 3 teclas para um simples movimento de cursor de 1 caractere, o segundo me faz mover minha mão para as setas. Uma terceira opção seria mapear CTRL-Lou pesquisar →.
Então, qual é a melhor maneira de fazer isso?
//snippets (clang complete + supertab):
foo($`param1`, $`param2`)
//after completion:
foo(var1, var2|)
^ ^
| |
I am here |
Need to be here
|
indica a posição do cursor
)
se houver pelo menos um argumento na função. Então eu digito à mão. Muito mais útil agora.)
eu aposto que ele pula sem realmente inserir. (Eu não uso este plugin))
<C-O>l
para sair do modo normal para 1 comando no modo normal.Respostas:
Mapa )para pular o existente,
)
se for um parêntese de fechamentoRetirado de: http://vim.wikia.com/wiki/Automatically_append_closing_characters
Resposta antiga
:h i_CTRL-O
execute um comando, retorne ao modo Inserir.Ctrl-ol moverá um caractere para a direita e retornará ao modo de inserção.
Como alternativa, alguns dos plugins de suporte permitem digitar apenas o suporte de fechamento )e eles substituem o existente.
fonte
)
for o último caractere na linha (e isso acontece com frequência quando você escreve o código).CTRL-O a
no entanto funciona. Acho que salvamos uma chave. :)del
)
é de apenas dois caracteres e sempre o coloca após o parêntese de fechamento.Digite o seguinte para encontrar as teclas de controle usadas no modo de inserção.
ctrl-b não é usado, mas você pode sacrificar outra tecla.
Isso funciona para mover o cursor para a direita um caractere. Ou mapeie alguns caracteres duplos.
fonte