在 vim 中重新映射 Ctrl-l 适用于我的个人设置,但不适用于我的工作设置。如何让它在我的工作环境中发挥作用?
Remapping Ctrl-l in vim works in my personal setup, but not my work setup. How do I make it work in my work environment?
在我的个人配置文件中,我有以下映射:
nnoremap <silent> <C-l> :nohlsearch<CR><C-l>
查看实际内容here。
此设置在我的个人设置中运行良好,但不适用于我的工作环境。我的个人系统有 8.0+ 版本,但我的工作系统有 7.4。我无法显示我的工作环境,但它是一个文件副本,其中删除了所有多余和不可用的映射。其他映射工作正常。
这个想法是从之前的 Whosebug 问题中得到的,至少已经有 6 年了,所以我认为这不是版本问题。但我想不出还有什么。
我怎样才能找到并解决这个问题?
遇到这种麻烦,首先要做的是检查':map'的输出。
在这种情况下有一个后来的映射。重新映射我的设置使事情按预期工作。
我的问题出处不同,但最终效果是一样的。当我在选项卡中打开文件列表时,我无法在 vim 的选项卡之间导航,我有映射 ctrl+h 移动左选项卡和 ctrl+l 移动右选项卡,这是因为打开时默认文件浏览器 ctrl+l 被重新映射到 n <C-L> @<Plug>NetrwRefresh
.
在我弄清楚问题所在后,我发现了这个:
https://github.com/christoomey/vim-tmux-navigator/issues/189
修改 vimrc 后看起来像这样:
nmap <C-h> :tabprev<CR>
nmap <C-l> :tabnext<CR>
nmap cw :tabnew<CR>
augroup netrw_mapping
autocmd!
autocmd filetype netrw call NetrwMapping()
augroup END
function! NetrwMapping()
nnoremap <buffer> <C-l> :tabnext<CR>
endfunction
已修复。
在我的个人配置文件中,我有以下映射:
nnoremap <silent> <C-l> :nohlsearch<CR><C-l>
查看实际内容here。
此设置在我的个人设置中运行良好,但不适用于我的工作环境。我的个人系统有 8.0+ 版本,但我的工作系统有 7.4。我无法显示我的工作环境,但它是一个文件副本,其中删除了所有多余和不可用的映射。其他映射工作正常。
这个想法是从之前的 Whosebug 问题中得到的,至少已经有 6 年了,所以我认为这不是版本问题。但我想不出还有什么。
我怎样才能找到并解决这个问题?
遇到这种麻烦,首先要做的是检查':map'的输出。
在这种情况下有一个后来的映射。重新映射我的设置使事情按预期工作。
我的问题出处不同,但最终效果是一样的。当我在选项卡中打开文件列表时,我无法在 vim 的选项卡之间导航,我有映射 ctrl+h 移动左选项卡和 ctrl+l 移动右选项卡,这是因为打开时默认文件浏览器 ctrl+l 被重新映射到 n <C-L> @<Plug>NetrwRefresh
.
在我弄清楚问题所在后,我发现了这个:
https://github.com/christoomey/vim-tmux-navigator/issues/189
修改 vimrc 后看起来像这样:
nmap <C-h> :tabprev<CR>
nmap <C-l> :tabnext<CR>
nmap cw :tabnew<CR>
augroup netrw_mapping
autocmd!
autocmd filetype netrw call NetrwMapping()
augroup END
function! NetrwMapping()
nnoremap <buffer> <C-l> :tabnext<CR>
endfunction
已修复。