我想做这样的事情:我选择一段文字,然后按下Ctrl-B,所选文字被**或我选择的其他符号包围。我想如果我能以某种方式标记选择的开始和结束位置,我可以将Ctrl-B映射到视觉模式中的某个键组合,该组合移动这些标记并放置所需的文本。
我该怎么办?
答案 0 :(得分:6)
无需定义自己的地图 - 蒂姆·波普的surround.vim是为这类事情而制作的!该插件提供了映射,可以轻松删除,更改和添加文本环境。
在您的情况下,在您以可视模式进行选择后,只需键入 S * ,您的代码将被星号包围。
环绕声命令适用于标准动作,也适用于普通模式。如果您想更改周围的字符(例如,从*
更改为'
),您可以执行 c s * '
README涵盖了许多值得尝试的一般用例。
答案 1 :(得分:4)
视觉选择的开始和结束分别自动标记为'<
和'>
标记。这些会持续到另一个视觉选择,因此很有可能将它们用于函数和映射中的导航。
然而,正如@David所说,听起来像环绕插件完全符合您的描述。
答案 2 :(得分:0)
如果您通过VIM教程,您将在Visual-Mode中找到它:
插入'用于视觉选择的文字。
设置以下命令
:vnoremap qq <Esc>`>a'<Esc>`<i'<Esc>
之后直观地选择并按“qq”