簡體   English   中英

Vim-.vimrc文件中只有1個“ bind”

[英]Vim - Only 1 'bind' in .vimrc file

.vimrc文件有問題。 我已經安裝了NerdTree,並將此行添加到vimrc文件中:

map <C-n> :NERDTreeToggle<CR>

它運行完美,但是我想在vim中使用python。 我添加了這一行:

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

而且它不起作用。 當我只有“ python綁定”時,它可以工作,但是當我添加NerdTree鏈接時,“ python綁定”就停止了工作。

所述<buffer>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

切勿在您的配置中添加您不完全了解的任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM