vim映射仅适用于noremap

时间:2017-08-21 12:47:55

标签: vim

我天真地写了这个:

" Fast saving and closing current buffer without closing windows displaying the
" buffer
nmap <leader>wq :w!<cr>:Bclose<cr>

但即使没有覆盖此内容也无效:

n  ,wq           :w!<CR>:Bclose<CR> " result of `map ,wq`

它确实有以下功能:

nnoremap <leader>wq :w!<cr>:Bclose<cr>

我觉得我在这里遗漏了一些非常基本的东西。

链接到完整版:https://github.com/AdrienGiboire/dotfiles/blob/master/.vimrc

因为我正在重新制作它,它仍然很乱:)

1 个答案:

答案 0 :(得分:2)

我对此进行了测试,据我所知,由于这种映射,它已经破了:

nnoremap : ;

我相信在运行时它会将你的地图变成

;w!<cr>;Bclose<cr>

noremap表单会阻止,wq映射映射其中的字符,因此它不会将:转换为;,否则会将其转换为noremap。这正是为了避免问题而存在noremap的事情。

我一般遵循的规则是始终使用Id Date Flag Next Flag Last Flag Flag2 UniqueFlags 1 21-Aug 0 NaN 18-Aug 1 1 20-Aug 0 NaN 18-Aug 1 1 19-Aug 0 NaN 18-Aug 1 1 18-Aug 1 NaN 18-Aug A 1 1 17-Aug 0 18-Aug 15-Aug 1 1 16-Aug 0 18-Aug 15-Aug 1 1 15-Aug 1 18-Aug 15-Aug A 1 1 14-Aug 0 15-Aug NaN 0 1 13-Aug 0 15-Aug NaN 0 2 21-Aug 0 NaN 19-Aug 2 2 20-Aug 0 NaN 19-Aug 2 2 19-Aug 1 NaN 19-Aug A 2 2 18-Aug 0 19-Aug 15-Aug 1 2 17-Aug 0 19-Aug 15-Aug 1 2 16-Aug 0 19-Aug 15-Aug 1 2 15-Aug 1 19-Aug 15-Aug B 1 2 14-Aug 0 15-Aug NaN 0 2 13-Aug 0 15-Aug NaN 0 3 21-Aug 0 NaN 17-Aug 1 3 20-Aug 0 NaN 17-Aug 1 3 19-Aug 0 NaN 17-Aug 1 3 18-Aug 0 NaN 17-Aug 1 3 17-Aug 1 NaN 17-Aug A 1 3 16-Aug 0 17-Aug NaN 0 3 15-Aug 0 17-Aug NaN 0 3 14-Aug 0 17-Aug NaN 0 3 13-Aug 0 17-Aug NaN 0 表单,除非我知道我不应该的特定原因,因为有很多这样的情况导致问题和很难调试。