vim - 重新映射 >> << (缩进命令)
Posted
技术标签:
【中文标题】vim - 重新映射 >> << (缩进命令)【英文标题】:vim - remapping >> << (indent commands) 【发布时间】:2012-01-13 17:47:38 【问题描述】:我很想将 > 映射到单个键以加快我的工作流程,但我找不到任何关于如何在我的 vimrc 中编写重映射的信息。知道如何重新映射吗?
【问题讨论】:
您真的要重新映射它们吗?通过>>
第一次缩进后,您可以按.
重复该操作。就像重新映射到一个按键一样好。
在可视模式下,单个<
或>
已经执行了缩进。
请注意,在插入模式下 CTRL-T 和 CTRL-D 分别缩进和取消缩进。
@Michael,我知道,我很懒惰。整天敲击同一个键两次来启动缩进只会让人筋疲力尽(即使我用 . 重复它们)。我认为下面的答案仍然会每天为我节省数百次击键。 (是的,我处理那么多标记)。感谢大家的提示!
@tester 如果您正在处理大量 html 或 XML,并且您发现自己经常缩进,希望您也使用 =
来修复缩进...
【参考方案1】:
给出的其他回答回答了您的直接问题。我只是建议您在正常模式和可视模式下将其重新映射为缩进和缩进(确保添加 gv
以在可视选择模式下重新选择):
nnoremap <TAB> >>
nnoremap <S-TAB> <<
vnoremap <TAB> >gv
vnoremap <S-TAB> <gv
当然,在插入模式下,您可能已经知道,您可以使用 Ctrl-t 和 Ctrl-d 来缩进/缩进。
【讨论】:
当我使用这个键绑定时,我无法通过转义退出可视模式。有什么解决办法吗?【参考方案2】:您可能正在寻找:noremap
:
:noremap > >>
:noremap < <<
如果你只使用:map
,你当然会得到递归定义的函数,这很有趣。 (^C
会阻止它。):noremap
变体不会递归扩展映射。
【讨论】:
以上是关于vim - 重新映射 >> << (缩进命令)的主要内容,如果未能解决你的问题,请参考以下文章
在ubuntu14.04中,装了vim插件,运行vi的时候,提示:E227: 映射 <80>k5 已存在怎样解决, 快捷键不好使