重新映射" Y"在vim

时间:2014-11-03 20:32:02

标签: vim key-bindings

vim中的复制粘贴功能对我来说似乎有些不一致。命令yyddcc猛拉/删除整行。命令DC从光标删除到行尾,但是Y会改为整行。我希望YDC的工作方式相同。所以我在.vimrc

中添加了以下行
nmap Y y$

它似乎不起作用。我的第一个想法是,这是因为一些插件干扰。我试图将命令放到.vimrc的开头和结尾,但没有任何帮助。但是,如果我手动输入命令(而不是.vimrc),它就可以工作。为什么是这样?我如何使这项工作?

2 个答案:

答案 0 :(得分:4)

在加载插件之前加载了你的vimrc,所以这并不排除插件正在覆盖它。将。.vim/after/中的.vim文件放置在插件之后将被加载,这样如果您想要避免逐个删除插件的路径,就可以测试该理论。

如肯特所述,您应该考虑使用nnoremap而不是nmap

答案 1 :(得分:2)

在上面的答案的评论中没有格式化代码的新答案。

如果冲突是YankRing,您可以使用:

function! YRRunAfterMaps()
    nnoremap Y   :<C-U>YRYankCount 'y$'<CR>
endfunction
nnoremap Y y$

来源::help yankring-custom-maps