Powszechnie używa się camelCase lub snake_case do oddzielania wielu słów, które tworzą identyfikator. Byłoby miło, gdyby „słowo” ruchy ( b, w, e) by wykryć te granice wewnętrzne-identyfikator.
Jak można osiągnąć to zachowanie? (Plugin / vimrc / ...?)
cursor-movement
letter-case
Jaspis
źródło
źródło
snake_case
iskeyword
ustawieniem, ale obawiam się, że będzie to miało wiele dodatkowych skutków ubocznych ... (patrz:help word
).snake_case
. Wydaje się, że tak nie jest, uwzględniono to w pytaniu.f
it
do zarządzania wewnętrznymi ruchami słów.Odpowiedzi:
Wtyczka CamelCaseMotion robi to, co chcesz. Domyślnie mapuje do klawiszy
,w
,,b
,,e
które są równoważne do normyw
,b
,e
. Działa zarówno dla CamelCase, jak i snake_case:Przykład:
Używanie
d,w
usuniecamel
; ponowne użycie spowoduje usunięcieCase
.Lub w przypadku węża:
d,w
usuniesnake_
, a po raz drugi usuniecase_
.Ruchy „wewnętrzne” (takie jak
diw
) powinny również działać zgodnie z oczekiwaniami (asdi,w
).Jeśli wolisz, możesz także zmienić domyślne
w
,b
oraze
z:źródło
,
polecenie (powtórz ostatni ruchf
/t
/F
/T
), co oznacza, że jeśli chcesz użyć tego polecenia, musisz poczekać na opóźnienie (skonfigurowane przez'timeoutlen'
). Na szczęście wtyczka umożliwia korzystanie z alternatywnych mapowań według własnego wyboru.dw
na, key);
kiedy kursor znajduje sięk
wydaje, aby usunąć cały wiersz (nowa linia), a ja po prostu oczekiwaćkey
, aby być usunięte ...camel
a potemCase
nieWord
?