帮助文本缓冲区中的自定义映射

Dav*_*ood 3 vim

我不太喜欢在 Vim 中使用窗口(我更喜欢选项卡),但有些东西会使用它们,例如帮助文本缓冲区。我对此很满意,但由于我很少使用窗口,我通常需要一秒钟才能记住如何关闭窗口 ( <C-w>c) 并返回到我正在做的事情。所以我想在我的 vimrc 中添加一行来映射q以关闭窗口,前提是该窗口是帮助缓冲区。

我已经为 netrw windows 做了类似的事情,如下所示:

augroup wtf_netrw
  autocmd!
  autocmd filetype netrw nnoremap <buffer> q :e#<CR>
augroup END
Run Code Online (Sandbox Code Playgroud)

我尝试用以下方法做类似的事情filetype help

:autocmd filetype help nnoremap <buffer> q <C-w>c
Run Code Online (Sandbox Code Playgroud)

但它不起作用——q在帮助文本缓冲区中输入只是执行默认q操作,记录宏。

当我尝试时:nnoremap q <C-w>c,输入q帮助文本缓冲区会按我的预期关闭窗口。

是否有一种特殊的方法来添加仅在帮助文本缓冲区中起作用的映射?

lcd*_*047 5

将其放入文件中~/.vim/ftplugin/help.vim

nnoremap <silent> <buffer> q :q<CR>
Run Code Online (Sandbox Code Playgroud)