vim映射键以使用<p> </p>包围单词/行

时间:2011-07-11 15:14:24

标签: vim surround

我正在尝试将键ALT + SHIFT + W映射到包含<p></p>标签的文本/行。

现在我在_vimrc文件中有这个:

map <A-S-w> c<p><C-R>"<p><ESC>

但这会产生:

<p>Some text.<p></p></p>

我做错了什么?我必须在我的地图上浏览第一个“<p>”吗?

由于

2 个答案:

答案 0 :(得分:2)

您写错了地图。正确的是:

map <A-S-w> c<p><C-R>"</p><ESC>

答案 1 :(得分:2)

这已经得到了解答,但我可以建议一个不会覆盖默认寄存器的版本:

vnoremap <A-S-w> <ESC>`>a<\p><ESC>`<i<p><ESC>

它利用&lt;和&gt;用于进行最新视觉选择的标记。请注意vnoremap比基本map更安全,因为(a)它仅限于可视模式,(b)它是非递归的。