如何在vim中标记自定义命令的视觉选择?

时间:2012-08-10 06:28:57

标签: vim

我想做这样的事情:我选择一段文字,然后按下Ctrl-B,所选文字被**或我选择的其他符号包围。我想如果我能以某种方式标记选择的开始和结束位置,我可以将Ctrl-B映射到视觉模式中的某个键组合,该组合移动这些标记并放置所需的文本。

我该怎么办?

3 个答案:

答案 0 :(得分:6)

无需定义自己的地图 - 蒂姆·波普的surround.vim是为这类事情而制作的!该插件提供了映射,可以轻松删除,更改和添加文本环境。

在您的情况下,在您以可视模式进行选择后,只需键入 S * ,您的代码将被星号包围。

环绕声命令适用于标准动作,也适用于普通模式。如果您想更改周围的字符(例如,从*更改为'),您可以执行 c s * '

README涵盖了许多值得尝试的一般用例。

答案 1 :(得分:4)

视觉选择的开始和结束分别自动标记为'<'>标记。这些会持续到另一个视觉选择,因此很有可能将它们用于函数和映射中的导航。

然而,正如@David所说,听起来像环绕插件完全符合您的描述。

答案 2 :(得分:0)

如果您通过VIM教程,您将在Visual-Mode中找到它:

插入'用于视觉选择的文字。

设置以下命令

:vnoremap qq <Esc>`>a'<Esc>`<i'<Esc>
之后

直观地选择并按“qq”