我想在Vim中用封闭标签 Package 一个单词,例如从word到'word'或从word到(word)。
word
'word'
(word)
efzxgjgh1#
使用Tim Pope的vim-surround,您可以用途:ysw'用“"括起单词,ysw(用“(“括起单词。如果你想用一个实际的标签(如HTML标签)包围单词,你可以使用yswt,然后在提示符中键入你的标签。如果你想改变现有的环绕元素,使用csw,输入你想替换的环绕元素,点击 (enter),然后输入新的环绕元素。 请注意,要使上面的命令起作用,您必须将光标放在要包围的单词的开头。 从其官方页面: 按cs"'(即c、s、双引号、单引号) “Hello world!” 将其更改为 “你好,世界!' 现在按cs'将其更改为 你好,世界! 要转一圈,请按cat"以获得 “Hello world!” 要完全删除分隔符,请按ds"。 你好,世界! 现在将光标放在“Hello”上,按ysiw](iw是一个文本对象)。 [Hello] world! 让我们使用大括号并添加一些空格(使用“}”而不是“{”表示没有空格):cs]{{ Hello } world! 现在将整行用括号括起来,并使用yssb或yes)。 (Hello world!) 回复原文:ds{ds)你好,世界! 强调你好:ysiwHello world! 最后,让我们试试视觉模式。按大写字母V(用于逐行视觉模式),然后按S。 Hello world! 有关详细的用法信息,请安装vim-surround,然后使用:help surround`调用文档。
ysw'
"括起单词,
用“(“括起单词。如果你想用一个实际的标签(如HTML标签
)包围单词,你可以使用
,然后在提示符中键入你的标签。如果你想改变现有的环绕元素,使用
,输入你想替换的环绕元素,点击
,然后输入新的环绕元素。 请注意,要使上面的命令起作用,您必须将光标放在要包围的单词的开头。 从其官方页面: 按
(即c、s、双引号、单引号) “Hello world!” 将其更改为 “你好,世界!' 现在按
将其更改为 你好,世界! 要转一圈,请按
以获得 “Hello world!” 要完全删除分隔符,请按
。 你好,世界! 现在将光标放在“Hello”上,按
(
是一个文本对象)。 [Hello] world! 让我们使用大括号并添加一些空格(使用“}”而不是“{”表示没有空格):
{ Hello } world! 现在将整行用括号括起来,并使用
或
。 (Hello world!) 回复原文:
你好,世界! 强调你好:
Hello world! 最后,让我们试试视觉模式。按大写字母
(用于逐行视觉模式),然后按
。 Hello world! 有关详细的用法信息,请安装
,然后使用
vqlkdk9b2#
看看Tim Pope的surround.vim。
jtjikinw3#
<c-r>对于这些非常方便,允许您插入寄存器,剪贴板,光标下的单词(<c-r><c-a>)等的内容。例如:
<c-r>
<c-r><c-a>
nmap <space>' ciw'<c-r>"'<esc> vmap <space>' c'<c-r>"'<esc> nmap <space>( ciw(<c-r>")<esc> vmap <space>( c(<c-r>")<esc>
它Mapspace+'以将当前单词或视觉选择用单引号括起来,或Mapspace+(以将当前单词或视觉选择用双引号括起来。Map的内容是“变内字|选择文本,插入引号,插入单词,插入引号,退出插入模式”。
space+'
space+(
xqk2d5yq4#
我第一次使用这个片段将宏记录到字母M中:qmcw'“' q然后用@m重做解释,在第一次10罢工是必要的:
用@m回忆一下:现在我们只用两击就能包围...
quhf5bfb5#
在NVIM中可以使用此函数,将<leader>sw或<leader>sWMap为分别使用:lua Surround("w")和:lua Surround("W"),其中Surround是自定义函数。您可以找到更多信息和函数定义here。
<leader>sw
<leader>sW
:lua Surround("w")
:lua Surround("W")
Surround
5条答案
按热度按时间efzxgjgh1#
使用Tim Pope的vim-surround,您可以用途:
ysw'
用“"括起单词,
ysw(用“(“括起单词。如果你想用一个实际的标签(如HTML标签
)包围单词,你可以使用
yswt,然后在提示符中键入你的标签。如果你想改变现有的环绕元素,使用
csw,输入你想替换的环绕元素,点击
(enter),然后输入新的环绕元素。 请注意,要使上面的命令起作用,您必须将光标放在要包围的单词的开头。 从其官方页面: 按
cs"'(即c、s、双引号、单引号) “Hello world!” 将其更改为 “你好,世界!' 现在按
cs'将其更改为 你好,世界! 要转一圈,请按
cat"以获得 “Hello world!” 要完全删除分隔符,请按
ds"。 你好,世界! 现在将光标放在“Hello”上,按
ysiw](
iw是一个文本对象)。 [Hello] world! 让我们使用大括号并添加一些空格(使用“}”而不是“{”表示没有空格):
cs]{{ Hello } world! 现在将整行用括号括起来,并使用
yssb或
yes)。 (Hello world!) 回复原文:
ds{ds)你好,世界! 强调你好:
ysiwHello world! 最后,让我们试试视觉模式。按大写字母
V(用于逐行视觉模式),然后按
S。 Hello world! 有关详细的用法信息,请安装
vim-surround,然后使用
:help surround`调用文档。vqlkdk9b2#
看看Tim Pope的surround.vim。
jtjikinw3#
<c-r>
对于这些非常方便,允许您插入寄存器,剪贴板,光标下的单词(<c-r><c-a>
)等的内容。例如:它Map
space+'
以将当前单词或视觉选择用单引号括起来,或Mapspace+(
以将当前单词或视觉选择用双引号括起来。Map的内容是“变内字|选择文本,插入引号,插入单词,插入引号,退出插入模式”。
xqk2d5yq4#
我第一次使用这个片段将宏记录到字母M中:qmcw'“' q然后用@m重做
解释,在第一次10罢工是必要的:
用@m回忆一下:现在我们只用两击就能包围...
quhf5bfb5#
在NVIM中可以使用此函数,将
<leader>sw
或<leader>sW
Map为分别使用:lua Surround("w")
和:lua Surround("W")
,其中Surround
是自定义函数。您可以找到更多信息和函数定义here。