2016-10-06 2 views
0

vim에서 대체 명령을 자동화하는 좋은 방법은 무엇입니까?vim에서 대체 표현식 자동화

내가 좋아하는 뭔가가 있다고 가정 훨씬 더 복잡 제외

s/foo/bar/g 

를 내가 대체 명령을 입력 할 필요 없이 선택된 범위에서 실행하려면?

어떻게 대용 명령을 저장하고 그것을 호출 할 수있는 편리한 이름을 붙이면됩니까?

+0

로 대체됩니다 – SibiCoder

답변

1

범위가 지원되는 함수를 만들 수 있으며 함수에서 대체를 수행 할 수 있습니다. 또한 범위가있는 함수를 호출하는 사용자 정의 명령을 작성하십시오.

내가 생각하는 가장 쉬운 방법은, 당신의 vimrc 파일에 abbrev 만드는 그러나 : 당신이 행을 선택하거나, 명령 줄에 때 이렇게

cab RR s/foo/bar/g 

, 당신은 할 s/foo/bar/gRR<space>을 눌러 (같은 3,5 or % ...) 범위를했다 자동으로 채워지세요. 약간의 조정을하거나 그냥 엔터를 눌러 줄 수 있습니다.

1

그냥 넣어 귀하의 경우는 대체 이름

" super quick search and replace 
nnoremap <Space><Space> :'{,'}s/\<<C-r>=expand('<cword>')<CR>\>/ 
nnoremap <Space>%  :%s/\<<C-r>=expand('<cword>')<CR>\>/ 

를 입력 할 수 커서 아래에있는 단어로 대체 명령을 자동 완성 및 대기하는 특정 단어에 두 번 스페이스 키를 누르면 아래 매핑을 시도 할 수 커서를 foo 단어에 놓고 스페이스 바를 두 번 누르십시오. 당신은

:'{,'}s/\<foo\>/ 

그런 다음 단어 줄

foo는 모든 항목

'{,'}s/\<foo\>/bar 
을 입력 볼 수 또한 자동 명령으로 보일 수 있습니다 바