2017-04-08 11 views
0

저는 _이 대부분의 목적을 위해 키워드 문자로 취급되는 것을 좋아하지만, 약어로 _을 사용하여 약어를 나타 내기를 원합니다. 자동으로이 작업을 수행 할 수있는 방법이 있습니까? 아니면 밑줄을 치기 전에 <C-]>을 누르는 것이 가장 좋은 방법입니까?밑줄에 Vim 트리거 약어가 있습니까?

사용 사례 : 자주 입력하는 긴 단어가있는 경우 해당 긴 단어 (예 : myverylongname_foo_table 형식의 테이블 이름)를 포함하는 변수가있을 수 있으며 입력 중에 약어가 활성화되기를 원합니다. 언더 스코어를 누른 직후에.

+0

이것은지도를 해결할 수 있습니다,하지만 난 당신의 _use의 case_으로 이해하지 않은 부분이있다 : 당신의 모든 긴 이름의 약어가 있습니까? – sidyll

+0

자주 입력해야하는 긴 이름/단어가 몇 개 있으며, 그 중 일부는 약어로 작성했습니다. – Kvass

+0

아. 알겠습니다. 나는지도 답변을 게시했다. 나는 이것이 당신에게 도움이 될 것이라고 생각한다. – sidyll

답변

0

당신은 밑줄 행동을 "덮어 쓰기"로지도를 사용할 수 있습니다

inoremap _ <C-]>_ 
+0

완벽하고 정확하게 내가 찾고있는 것이 었습니다. – Kvass

0

작동하는 해결책을 찾았습니다. 삽입 모드로 들어가서 떠날 때 복원 할 때 iskeyword 정의에서 _을 제거하도록 자동 명령을 설정할 수 있습니다.

autocmd InsertEnter * setl iskeyword-=_ 
autocmd InsertLeave * setl iskeyword+=_ 
+0

이것은 자동 완성을 망치는 것과 같은 부작용이 있습니다. 이러한 단점이없는 대답을 수락합니다. – Kvass