我的 .vimrc 文件中有以下映射,用于在窗口之间移动,但是当在 netrw 插件的浏览窗口 :e 中时,下移键将产生一个警告窗口,而不是尊重我的映射。我假设这个映射必须被硬编码到插件本身中。如何删除插件中的上移和上移映射。
nnoremap <silent> <S-Up> :wincmd k<CR>
nnoremap <silent> <S-Down> :wincmd j<CR>
Run Code Online (Sandbox Code Playgroud)
尝试上移或下移时显示的窗口如下所示,它显示在新的拆分中,这非常烦人:
**warning** (netrw) using Nexplore or <s-down> improperly; see help for netrw-starstar
Run Code Online (Sandbox Code Playgroud)
因此,我的问题是如何在 netrw 插件中关闭此行为,以便它尊重上面显示的映射。
插件创建了一个缓冲区映射,因此您可以在使用以下命令创建后再次覆盖它autocmd:
autocmd filetype netrw nnoremap <buffer> <s-down> :wincmd j<cr>
Run Code Online (Sandbox Code Playgroud)
如果多次使用,创建一个组可能会很有用:
augroup netrw_maps
autocmd!
autocmd filetype netrw call ApplyNetrwMaps()
augroup END
function ApplyNetrwMaps()
nnoremap <buffer> <s-up> :wincmd k<cr>
nnoremap <buffer> <s-down> :wincmd j<cr>
" ...
endfunction
Run Code Online (Sandbox Code Playgroud)