mover o cursor Vim após uma função
-
18-09-2019 - |
Pergunta
Estou usando os plugins Supertab e Snipmate. Digamos que estou usando o Snipmate para criar uma estrutura de declaração IF. Depois de terminar de adicionar instruções dentro da estatura IF, como posso mover rapidamente o cursor após a estatura IF. Por exemplo:
if [ $a = "b" ]; then
bla;
fi
Se meu cursor estiver bem no ponto e vírgula e estou no modo de inserção. Qual é o menor número de ações que posso tomar para mover o cursor para a linha após o 'FI'? Se eu pressionar a guia, o Supertab simplesmente abrirá uma janela de preenchimento automático.
Obrigado
Solução
Se você estiver usando o Snipmate, sugiro modificar o snippet para o seu tipo de arquivo. Por exemplo, o exemplo que você me dá para ser algo como um script de shell. Nesse caso, então eu modificaria seu Foldador de Configuração/snippets/sh.snippets para nós uma definição como a seguinte (adicionando uma variável de guia adicional no final do snippet):
snippet if
if [ ${1:condition} ]; then
${2:#statements}
fi
${3}
O Snipmate permitirá que você use as teclas TAB e Shift-Tab para se mover para frente e para trás entre a condição, as instruções e o final do bloco IF.
Outras dicas
Não tenho certeza sobre os plugins (eu não os uso, mas em vim regular):
<Esc>
/fi$
o
O sinal $ pode ser supérfluo na maioria das vezes.
Apenas pressione C-o o
Eu iria pressionar Esc o Para iniciar o modo Inserir na próxima linha. Mas talvez você possa reconfigurar o Snipmate para poder pressionar outra tecla em vez de aba Para terminar o trecho?
Se você não mapeou, o baixa A tecla de seta também deve mover o cursor para a próxima linha.