2017-06-30 41 views
0

我遇到了.vimrc文件的問題。我已經安裝NerdTree我加入這一行到vimrc文件:Vim - 在.vimrc文件中只有''綁定'

map <C-n> :NERDTreeToggle<CR> 

它完美,但我想在vim中使用Python。我加了這一行:

nnoremap <buffer> <F5> :exec '!python' shellescape(@%, 1)<cr> 

而且它不起作用。當我只有「python綁定」它正在工作,但是當我添加NerdTree鏈接「python綁定」停止工作。

回答

1

<buffer> in nnoremap <buffer> <F5> :exec '!python' shellescape(@%, 1)<cr>表示該映射對於當前緩衝區是本地的。

既然你有你的vimrc該映射,它沒有被定義爲vimrc但第緩衝區編輯,只有第一緩衝

只要打開另一個緩衝區,無論使用哪種緩衝區(包含NERDTree),對於除第一個緩衝區之外的任何其他緩衝區,您的映射將不再起作用。

這裏是你映射的一個修訂版,將只在Python緩衝區的工作,所有的人:

augroup PythonThings 
    autocmd! 
    autocmd FileType python nnoremap <buffer> <F5> :exec '!python' shellescape(@%, 1)<cr> 
augroup END 

參見:

:help <buffer> 
:help autocommand 

切勿給你的配置添加任何東西你不完全明白。