É comum usar camelCase ou snake_case para separar várias palavras que formam um identificador. Seria bom se os movimentos "palavra" ( b, w, e) seria detectar esses limites interior de identificadores.
Como esse comportamento pode ser alcançado? (Plugin / vimrc / ...?)
cursor-movement
letter-case
Jaspe
fonte
fonte
snake_case
iskeyword
configuração, mas temo que isso tenha muitos efeitos colaterais adicionais ... (consulte:help word
).snake_case
. Parece que não, incluiu no quesiton.f
et
para gerenciar movimentos internos das palavras.Respostas:
O plugin CamelCaseMotion faz o que você deseja. Por padrão, ele mapeia para as teclas
,w
,,b
,,e
que são equivalentes ao normalw
,b
,e
. Funciona tanto no CamelCase quanto no snake_case:Exemplo:
Usar
d,w
removerácamel
; usá-lo novamente removeráCase
.Ou com estojo de cobra:
d,w
será removidosnake_
e, na segunda vez, será removidocase_
.Movimentos "internos" (como
diw
) também devem funcionar conforme o esperado (comodi,w
).Se preferir, você também pode substituir o padrão
w
,b
ee
com:fonte
,
comando (repita últimof
/t
/F
/T
motion), ou seja, se você deseja usar esse comando, terá que aguardar um atraso (configurado por'timeoutlen'
). Felizmente, o plug-in permite que você use mapeamentos alternativos de sua escolha.dw
em, key);
quando o cursor está nak
parece para remover a linha inteira (incluindo novas linhas), enquanto eu esperava apenaskey
a ser removido ...camel
e depoisCase
, nãoWord
?