답변:
팀 교황의 abolish.vim사이에서 캔 변환 camelCase, MixedCase, snake_case,과 UPPER_CASE,뿐만 아니라 변환 (편도) dash-case.
의에 커서를 놓고 fooBar, FooBar, foo_bar, 또는 FOO_BAR사용
crc 로 변환하다 fooBarcrm 로 변환하다 FooBarcr_또는 crs로 변환foo_barcru 로 변환하다 FOO_BARcr- 로 변환하다 foo-bar그렇습니다 . 그리고 보너스로 반대 방향으로 나아가는 것도 있습니다!
사라질 경우 위키에서 인용하십시오.
" Change selected text from NameLikeThis to name_like_this.
vnoremap ,u :s/\<\@!\([A-Z]\)/\_\l\1/g<CR>gul
반대 방향으로 :
" Change selected text from name_like_this to NameLikeThis.
vnoremap ,c :s/_\([a-z]\)/\u\1/g<CR>gUl
vnoremap tos :s/\C\(\U\&\S\)\([A-Z]\)/\1_\l\2/g<CR>
lh-dev 는 이름 지정 스타일 사이를 변환하는 명령도 제공합니다.
:NameConvert snake
커서 아래 단어를 snake_case로 변환합니다.
:%ConvertNames/\<m_\k\+(/getter/gc
사용자가 변환을 확인한다고 가정하면 패턴의 각 항목을 게터 이름으로 변환합니다 ( :h :s_flags)
지원되는 스타일은 두 가지입니다.
다음과 같은 명령을 만들었습니다.
command! Ctl
\ exec "norm \"xygn" |
\ let @y = substitute(@x, "\\([^A-Z]\\)\\([A-Z]\\)", "\\1_\\2", "g") |
\ let @y = tolower(@y) |
\ exec "norm cgn\<C-r>y" |
\ let @@ = ":Ctl\n"
먼저 바꾸려는 문자열을 검색 /nameToReplace한 다음 실행 :Ctl하면 다음 검색 일치가됩니다 name_to_replace. 명령은 @@레지스터에 들어가므로을 눌러 작업을 반복 할 수 있습니다 @@.