我想在Vim中包含一个单词并附上标记,例如从word
到'word'
或从word
到(word)
。Vim:将单词包含在标记中
回答
使用蒂姆教皇的vim-surround,你可以使用:ysw'
附上一个字与“`”,ysw(
包围与“(”字。如果你想围绕一个实际的标签的话,如HTML标签<code>
。 ,您可以使用yswt
,然后在提示中键入您的标签,如果您想要更改现有的环绕声元素,请使用csw
,输入您要替换的环绕声元素,然后按<CR> (enter)
,然后键入新的环绕元素。
请注意,对于上述命令的工作,您必须将光标放在要包围的单词的开头。
从它的官方网页:
按
cs"'
(这是C,S,双引号,单引号)内将其更改为
“ ”世界,你好!“你好世界!'
现在按
cs'<q>
将其更改为Hello world!
为了走了一圈,按
cat"
得到“世界,你好!”
要完全删除分隔符,按
ds"
。Hello world!
现在随着光标移动到“你好”,按
ysiw]
(iw
是一个文本对象)。[你好]世界!
让我们大括号,并添加一些空间(用“}”而不是“{”为无空格):
cs]{
{}你好世界!
现在包裹在括号中的整条生产线与
yssb
或yes)
。({}你好世界!)
恢复到原来的文字:
ds{ds)
世界,你好!
强调你好:
ysiw<em>
你好世界!
最后,让我们尝试视觉模式。按下大写字母
你好世界!V
(对于linewise可视模式) ,然后按S<p class="important">
。
有关更详细的使用信息,安装vim-surround
,然后用:help surround
调用文档。
看看蒂姆教皇的surround.vim。
<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>
哪款地图space+'
包住当前单词或视觉选择用单引号或space+(
将当前单词或视觉选择用双引号括起来。
映射的内容是指“更改内部字|选择文本,插入引号,插入字符,插入引号,退出插入模式”。
我用这个片段给宏记录到字母M的第一次: qmcw” <CR>“'<ESC> q 然后用@m
解释重做,在第一个10个打击是必要的:
- QM开始录制宏在字母m
- CW变化只有一个词,把你带入插入模式
- “写的第一次报价
- <CR>“粘贴,我们在体育场2擦除,同时保持到 插入模式
- 字”是周围的其他报价
- <ESC>回到编辑字
- q结束宏。
与@m回忆起来:现在我们只用了两个好球包围......
- 1. 如果文本字符串包含某些单词,请将这些单词包裹在span标记中
- 2. 在Vim中删除包含字符串的整个单词
- 3. 如何在vim中选择单词时包含句点?
- 4. 如何查找从Html标记中包含的单词?
- 5. 试图获取包含特定单词的src标记
- 6. 获取<script>标记,不包含多个单词
- 7. 在vim中包含搜索
- 8. VIM复制包含a的整个单词。 (点)
- 9. 包含标记中的HttpResponseRedirect
- 10. 在R中为单个单词/标记创建POS标记
- 11. 包含数字的单词
- 12. stringr:包含特定单词
- 13. 如何标记单词单词
- 14. 将不包含在单词中的字符换行
- 15. 包含在struts2中迭代器标记
- 16. 在tm中包含短标记DocumentTermMatrix
- 17. 在javascript中包含样式标记
- 18. AngularJS不能在ID中包含标记?
- 19. 正则表达式获得字符串中的单词出现,但不包含包含该单词的单词
- 20. 的grep或sed中包含单词串
- 21. 从包含特定单词在VB6
- 22. NLTK中单个单词的标记器
- 23. 替换光标下的单词 - Vim
- 24. Vim单词评论
- 25. 包含标记和embed标记在expressionengine中有什么区别?
- 26. 单击包含声音的单词 - javascript
- 27. WHERE列包含单个单词
- 28. 在Microsoft LUIS中将单词标记为预构建实体
- 29. 将含标记含汞
- 30. 如何在包含Unicode字符的表中包装单词'\ u00A0'
作为一个侧面说明,非资本V会让你选择任意数量的字符(像1.10的数字有用其中“iw”将选择1或10)。 – htatche 2016-12-14 00:19:30