Vim domyślnie nie dostarcza obiektu tekstowego CamelCase, więc będziemy musieli stworzyć go samodzielnie, aby uzyskać . Dobrą Nowością jest to, że nie trzeba wyważać otwartych drzwi od plugin już istnieje i możemy użyć go jako bazę: camelCaseMotion
Skrypt ten określa ruchy ,w
, ,b
i ,e
(podobny do w
, b
, e
), które nie poruszają się w mowie (w przód/w tył), ale w wielbłądach; tj. do granic wyrazów i wielkich liter. Problem polega na tym, że nie definiuje obiektu tekstowego podobnego do iw
, aby wybrać całe słowo. Stwórzmy więc: it: Aby być kompletnym, obiekt tekstowy potrzebuje dwóch definicji: jednej dla trybu wizualnego i innej dla trybu oczekiwania operatora. Oto nasze definicje (dodać do .vimrc
):
vmap ,i <Esc>l,bv,e
omap ,i :normal v,i<CR>
Jak widać robimy wykorzystanie ,b
i ,e
wnioskami określonymi przez wtyczkę.
Pierwsza definicja pozwala na wpisanie ,i
, gdy jesteśmy w trybie wizualnym i będzie wybrać bieżące "wewnętrzne słowo camelCase". (The l
ruch jest obejście zawsze słowo znajduje się kursor. W przeciwnym razie możemy uzyskać poprzednią gdy kursor znajduje się na pierwszej literze słowa)
Druga definicja używa pierwszego jeden do niech operatorzy jak d
lub c
pracy z ,i
Po zainstalowaniu wtyczki i dodał definicji do naszego .vimrc
możemy robić to, co chciałeś.Na przykład, jeśli wziąć ten przykład:
DefaultHandlerWord
Jeśli mój kursor znajduje się na literę n
z Handler
mogę użyć:
,e
aby przejść do ostatniego listu z Handler
,b
iść do pierwszej litery z Handler
,w
, aby przejść do pierwszej litery z Word
d,i
usunąć Handler
i dostać tylko DefaultWord
c,i
usunąć Hanlder
i dostać szansę, aby zastąpić go innym słowem
możliwe duplikat [W jaki sposób można skonfigurować vim tak, że polecenia ruchowe obejmie podkreślenia i CamelCase , ale zakończenie je zignoruje?] (http://stackoverflow.com/questions/1279462/how-can-i-configure-vim-so-that-movement-commands- willill- include-underscores-and-c) (jak wspomniano w odpowiedzi Luca, co moim zdaniem powinno być komentarzem). – yshavit