当我编辑XML文件时,我有时想跳转到引号之间的下一个文本。例如,当我的光标位于my.attr
的{{1}}时,我想跳转到attr="my.attr"
的下一个出现位置。我想通过一些组合键来做(比如my.attr
用于单词出现)。有可能吗?
答案 0 :(得分:1)
您可以使用vi"
在双引号内创建属性值的直观选择。然后,有几个插件为可视模式实现*
命令(通常通过重载*
命令),即他们搜索下一次出现的所选文本。一个这样的插件就是我的SearchHighlighting plugin。 (插件页面包含指向其他插件的链接。)
如果您想更改所有属性值(不构建:%s/
替换),我的ChangeGlobally plugin会提供gc{motion}
和{Visual}gc
命令这样做。
答案 1 :(得分:0)
您可以在命令模式下使用/<exact pattern>
,如果有任何特殊字符,则可以使用\
For example In command mode /"my\.attr"
所以只搜索确切的模式。 <{1}}或N
向前和向后移动。
答案 2 :(得分:0)
我会使用yi"
在引号内抓取文本(仅在开头和结尾引号位于同一行时才有效),然后/<C-R>"
。 (<C-R>
表示CTRL-R,而不是5个字符。)
这使您有机会在提交之前修改模式;正如@Kalanidhi指出的那样,你可能不得不逃避一些特殊的角色。它使用与@Ingo Karkat的答案相同的i"
文本对象。
如果文本很短,则可以使用箭头键编辑命令行,但如果文本很长,则可能需要在<C-F>
的命令行窗口中编辑它。 (或者,如果您正在考虑,请使用q/
代替/
。)
:help y
:help text-objects
:help c_CTRL-R
:help cmdline-editing
:help cmdline-window