2017-07-19 62 views
2

所以我在我的.vimrc标签为重映<c-]>使其忽略某些字符

nnoremap t <C-]> 

这种映射这适用于大多数情况下,完全没有问题,但最近,我注意到这一点:试图去下面的标签时(光标通过|标):

@user.cached_internally_opera|ted? 

t结果:E426: tag not found: cached_internally_operated 和去那个标签按c-]结果。

为什么我的重新映射导致它忽略?

+0

在'vim'中映射一个已经有意义的键已经不是一个好主意。 ':help map-which-keys' – dlmeetei

+1

你有一个增强原始映射的(filetype)插件吗?通过':nmap '查找。如果有输出,则需要使用':nmap'而不是':nnoremap'。 –

+0

因戈,你是对的!如果您提交回复,我会批准它。 – iovis

回答

3

只有一个解释:你有一个(文件类型)插件,增强了原始的<C-]>映射。你可以通过:nmap <C-]>找到。如果有输出,则需要使用:nmap而不是:nnoremap

通常,you should use :noremap;它使映射免于重映射和递归。但是,如果您为自定义命令定义了别名,或者可能由插件扩展了内置命令,则必须使用:map,以便适用映射。

+0

伟大的解释,问题和诊断方法,以及出色的解决方案。谢谢! – iovis