2014-11-17 8 views
1
를 매핑 할 수 없습니다

내가 vundle 사용하고 빔는 빔

에 대한 몇 가지 다른 플러그인은 내가

<F5> :!ruby %<CR>를 참조 :map <F5>을 실행하면하지만 모든 Bundle 후 내 ~/.vimrc의 끝에서 정의한 다음 매핑을 instuctions :

imap <F5> <Esc><Esc>:w<CR>:!ruby %<CR> 
nmap <F5> <Esc><Esc>:w<CR>:!ruby %<CR> 
omap <F5> <Esc><Esc>:w<CR>:!ruby %<CR> 
cmap <F5> <Esc><Esc>:w<CR>:!ruby %<CR> 
vmap <F5> <Esc><Esc>:w<CR>:!ruby %<CR> 
smap <F5> <Esc><Esc>:w<CR>:!ruby %<CR> 
xmap <F5> <Esc><Esc>:w<CR>:!ruby %<CR> 
map <F5> <Esc><Esc>:w<CR>:!ruby %<CR> 

또한 Vim :map <F5> <Esc><Esc>:w<CR>:!ruby %<CR>에서 실행하면 정상적으로 작동합니다. .vimrc의 매핑이 무시 된 것 같습니다.

왜 그럴까요? 다시 매핑하는 방법 <F5>?

UPDATE :

:verbose map <F5> 
    <F5>   :!ruby %<CR> 
     Last set from ~/Dropbox/home/.vim/bundle/ruby-menu.vim/plugin/ruby-menu.vim 

실제로 나는 거 그것을 쓰레기, 루비 메뉴의 플러그인이 필요하지 않습니다. Btw, 왜 내 매핑을 다시 매핑합니까? 이것은

루비 메뉴 플러그인에 this line에서 것 같다
:verbose map <F5> 

를 통해 정의있어 어디 있는지 확인할 수 있습니다

+1

': 자세한 정보 표시 '으로 확인할 수 있습니다. –

+0

고맙습니다, 잉고! – zuba

답변

5

. 해당 플러그인은 <Plug> 매핑 된 키를 변경하거나 매핑을 모두 사용 중지 할 수있는 매핑 대상을 제공해야합니다. 당신은 그것에 불이익을 제기 할 수 있습니다.

플러그인이로드 될 때까지 .vimrc가 이미 처리를 완료했기 때문에 플러그인이 매핑을 덮어 씁니다.

  1. 후 디렉토리를 사용하고 ~/.vim/bundle/ruby-menu.vim/after/plugin/ruby-menu.vim
  2. 사용으로 무시 매핑 정의를 넣어 :

    는 이러한 방법 중 하나를 사용하여, 플러그인로드 후 매핑 을 정의 할 필요 해결하려면 플러그인 뒤에 제공된 다른 위치 (예 : ~/.vim/after/plugin/mappings-override.vim) (:scriptnames으로 확인)
  3. ~/.vimrc에서를 통해 덮어 쓰기를 시도하십시오., 플러그인이 초기화 될 때까지 실제 정의가 지연됩니다.
+0

예외적 인 설명에 감사드립니다! – zuba

+3

@ zuba, Ingo의 답변은 항상 예외적 인 것이 아닙니다. * 항상 * 이와 비슷합니다. – romainl