No Vim, a Jchave une duas linhas. Existe uma combinação de teclas incorporada semelhante para dividir linhas com uma nova linha (na posição do cursor ou similar)?
Como alternativa, qual seria a maneira mais robusta de definir uma combinação de teclas para fazer isso (no modo normal, não no modo de inserção)?
Respostas:
Não, não há comando interno para isso.
Quando eu quero dividir em um
<Space>
, eu façor<CR>
.--- EDIT ---
O comentário de @ keith-nicholas 'me lembrou essa pergunta. FWIW, inventei um método esperançosamente "universal" nesse meio tempo:
fonte
r<CR>
é simplesmente inteligente! Obrigado!s<CR>
mantém recuo enquantor<CR>
não.a
Enter Escdividir à direita do cursor oui
Enter Escdividir à esquerda.fonte
A maneira mais fácil de dividir linhas no Vim é o comando no modo normal
gq
(digite as duas letras em rápida sucessão no modo normal ou visual):gq
com um movimento.Por exemplo,
gql
dividirá uma linha na largura definida no momento. Para definir a largura das linhas de divisão diferentes da sua configuração atual, você pode usarOnde n = número de caracteres que você deseja em uma linha, por exemplo, 10, e volte à sua largura normal quando terminar.
Obtenha essas informações em um vídeo do Youtube de Kholidfu que mostra como unir e dividir linhas no modo normal usando um movimento: Tutorial do Vim - Unir e dividir linhas .
fonte
Você pode definir o seu próprio usando o mapa. Para definir z como o comando, por exemplo:
fonte
Você pode gravar uma macro:
no modo normal, digite "q +" para iniciar o registro. pressione "i", a macro que você deseja gravar. depois pressione "q" novamente para parar a gravação.
Para usar a macro, vá para o modo normal e digite "@ + letra".
no meu caso, usei o "b" para usar esta macro: para gravar o tipo no modo normal "qbiq" para usar o tipo no modo normal "@b"
fonte