낙타 케이스 또는 snake_case를 존중하는 움직임?


20

camelCase 또는 snake_case를 사용하여 식별자를 구성하는 여러 단어를 분리하는 것이 일반적입니다. 은 "단어"운동이 (있다면 그것은 좋은 일 것 b, w, e) 그 내부 식별자 경계를 검출 할 것입니다.

이 동작을 어떻게 달성 할 수 있습니까? (플러그인 / vimrc / ...?)


1
나는 또한 이것을 알고 싶습니다snake_case
Martin Tournoij

iskeyword설정으로 무언가를 할 수는 있지만 이것이 많은 추가 부작용이있을 것 같습니다 ... (참조 :help word).
Martin Tournoij

@ Carpetsmoker 나는 그것이 효과가 있다고 생각했다 snake_case. quesiton에 포함되지 않은 것 같습니다.
재스퍼

4
VimWiki는 다음과 같은 내용을 다루었습니다 : vim.wikia.com/wiki/Moving_through_camel_case_words 다른 누군가가 나를 이기지 못하면 어느 시점에서 적절한 답을 쓸 것입니다.
Rich

나는 개인적으로 camalCased 단어를 전체 단어로보고, 대소 문자 나 밑줄 때문에 단어를 반으로 나누는 아이디어를 좋아하지 않습니다. 일반적으로 ft키를 사용하여 내부 단어 이동을 관리합니다.
Sukima

답변:


11

플러그인 CamelCaseMotion 은 원하는 것을 수행합니다. 기본적으로이 키에 매핑 ,w, ,b, ,e정상으로 동일 w, b, e. CamelCase와 snake_case 모두에서 작동합니다.

예:

camelCaseWord

를 사용 d,w하면 제거 camel; 다시 사용하면가 제거 Case됩니다.

또는 뱀 케이스 :

snake_case_word

d,w제거 snake_하고 두 번째에는 제거 case_합니다.

"내부"동작 (예 :) diw도 예상대로 (있는 di,w) 작동해야합니다 .

원하는 경우, 당신은 또한 기본을 무시할 수 w, be과 :

map <silent> w <Plug>CamelCaseMotion_w
map <silent> b <Plug>CamelCaseMotion_b
map <silent> e <Plug>CamelCaseMotion_e
sunmap w
sunmap b
sunmap e
omap <silent> iw <Plug>CamelCaseMotion_iw
xmap <silent> iw <Plug>CamelCaseMotion_iw
omap <silent> ib <Plug>CamelCaseMotion_ib
xmap <silent> ib <Plug>CamelCaseMotion_ib
omap <silent> ie <Plug>CamelCaseMotion_ie
xmap <silent> ie <Plug>CamelCaseMotion_ie

2
이 플러그인의 기본 매핑이 그림자주의 ,명령 (반복 마지막 f/ t/ F/ T당신이 명령을 사용하려는 경우, 당신은 (에 의해 구성된 지연을 기다려야 의미 모션) 'timeoutlen'). 다행히도 플러그인을 사용하면 선택한 대체 매핑을 사용할 수 있습니다.
tommcdo

이 플러그인, 즉 일부 부작용이있을 것 같다 : dw, key);커서가있는 경우에 k(줄 바꿈 포함) 전체 라인을 제거하는 것, 난 그냥 예상하면서 key제거 할 수 ...
마틴 Tournoij에게

1
플러그인이 더 좋다는 것을 알았습니다 . 모션을 삭제와 결합하면 제대로 작동하며 괄호에서도 멈 춥니 다.
Paschalis

사소한 점,하지만 첫 번째 예에서 반드시 제거하는 것 camel하고 Case,하지 Word?
preferred_anon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.