2014-09-18 5 views
0

이맥스와 달리 vim에서 키 콤보를 입력 할 때 호출 할 내부 함수가 없다고 들었습니다. 그래서 저는 Ctrl-A를^(예, nnoremap < C-A> ^와 같이) 용도를 바꾸고 싶습니다. 그러나 Ctrl-A의 원래 기능도 매력적이므로 Ctrl-S와 같은 다른 키에 매핑하고 싶습니다. vim 방식으로이 작업을 수행하려면 어떻게해야합니까?vim에서 repurpose 기본 키

이 질문에 질문을했을 수도 있지만 검색해 보았지만 아무 것도 발견하지 못했습니다. 미리 감사드립니다.

추신 : 어리석은 vim-emacs 전쟁은 어디에서나 스팸하고 있으며 다른 환경에서 작동하는 원하는 기능을 만드는 진정한 해결책을 찾을 수 없습니다.

+0

게시물을 명확히하십시오. Emacs 나 Vim에서 키를 바인드 하시겠습니까? 어떤 기능/기능을 바인딩하려고합니까? – Dan

+2

어떤 편집기를 사용하든 키에 익숙해 져보십시오. vim에서'ctrl-a -> ^'맵핑은 좋은 생각이 아니므로'ca a to do +1 + '을 맵핑 할 수 있습니다. 화면에있을 때 tmux (ca를 접두어로 사용),'ctrl -aaa '는 숫자 +1을합니다. 그리고'ctrl-k, ctrl-f, ctrl-e, ctrl-w .... '를 매핑하고 emacs 만 사용하면 이맥스에서'hjkl'을 매핑하지 않기를 바랍니다. – Kent

+0

오, 핵심 혼란에 관해서는, 대부분의 시간은 맥에서 뭔가를 복사하려고하면 그 창을 닫습니다. - | – eafit

답변

2

다음은 수행해야합니다

nnoremap <C-A>^
nnoremap <C-A>A <C-A> 

이 작동 noremap 다른 매핑을 적용하지 않는 정력을 알려주기 때문에, 따라서 두 번째 매핑의 RHS 위의 기본 <Ctrl-A>입니다.

vim이 잠시 기다려서 두 번째 매핑을 입력 할 수 있기 때문에 첫 번째 매핑이 지연되는 것을 알 수 있습니다. 이게 당신을 괴롭히는 경우 Vim-FAQ 20.16가 도움이 될 수 있습니다.

explained here 같이 vim에는 사용을 시작할 때 바보처럼 보일 수있는 많은 기본 매핑이 있기 때문에 기본 매핑을 변경하지 말라고 충고합니다. 더 잘 이해하면지도를 작성하거나 이전/기본 매핑에 익숙해지기 위해 다른 키를 찾는 것이 어려워집니다.

+0

그것은 나를 위해 작동하지 않았다 ... 나는 7.3을 가졌다. 또한, 이상적인 키 진부한 표현이라면, ^는 그 빈도 때문에 실제로 접근 할 수 없다. 또는 나는 정말로 0w 콤보에 익숙해 져야한다고 생각하니? – eafit

+0

vim 7.3에서 작동해야합니다. 더 자세한 내용 없이는 어떤 도움을 제공하는 것이 어렵습니다. – mMontu

+0

noremap 또는 nmap 이더라도 C-S를 눌러도 아무런 변화가 없습니다. 이것은 .vimrc의 유일한 행이며 .vim 폴더는 없습니다. 그게 문제가 될 수도 맥을 사용하고 있습니다. – eafit