VIM:视觉模式下的映射

9
我有一些映射,可以在可视化模式下按下 TAB 键来缩进多行代码:
vnoremap <Tab> >gv
vnoremap <S-Tab> <gv

但它与snipmate插件冲突。有没有一种方法可以将TAB按钮重新映射为仅在可视行模式(S-V)下工作?


相反,我会使用'>....'而不是'>>>>'。 - Boris Brodski
1个回答

16

将您的映射命令从 vnoremap 更改为 xnoremap

xnoremap <Tab> >gv
xnoremap <S-Tab> <gv

为什么?

v[nore]map 既定义了可视模式又定义了选择模式的映射。因为当你在占位符上时,Snipmate 会将你置于选择模式中,所以你需要使用更具体的映射命令,这种命令不能在选择模式下触发:x[nore]map

实际上,你应该总是使用 x[nore]map 而不是 v[nore]map


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接