从 cscope 我得到了这个 nmap:
nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR>
我最初有这些地图:
nmap <tab> v>
nmap <s-tab> v<
vmap <tab> >gv
vmap <s-tab> <gv
现在,如果我键入 s,那么它将跳转到具有一个副作用的定义:它将制表目标行或目标函数/类内容。
我找不到这个冲突在哪里。看来这两张图没有关系。
从 cscope 我得到了这个 nmap:
nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR>
我最初有这些地图:
nmap <tab> v>
nmap <s-tab> v<
vmap <tab> >gv
vmap <s-tab> <gv
现在,如果我键入 s,那么它将跳转到具有一个副作用的定义:它将制表目标行或目标函数/类内容。
我找不到这个冲突在哪里。看来这两张图没有关系。
我已经尝试过您的映射,没有任何问题,所以我认为可能存在某种尾随章程问题,例如他的评论中建议的@glts。用于:set list
显示不可见的字符。
但是,您可能需要考虑以下几点:
nnoremap
overnmap
来防止递归映射。>>
/ <<
(或>
/<
在可视模式下)。如果要重复该命令,请使用.
. dot 命令将重做最后一次更改。u
如果您走得太远,您可以使用撤消。尽管我理解对此类映射的需求,但学习并养成使用习惯.
将帮助您进入 vim 必杀技。.
通过展示快速和肮脏的替换
来很好地使用该命令的示例。/pat
c
。例如cgnfoo<esc>
gn
选择当前模式.
用命令重复。如需更多帮助,请参阅:
:h mapping
:h .
:h u
:h >>