如何解决在Vim中拉动C / C ++标识符的最短击键是什么?
| Vim具有*(星号)命令,该命令向前搜索光标下的单词的下一个出现(或[count](如果提供))。将命令用于word
,将在\"/
寄存器(存放最新的搜索模式)中得到\\<word\\>
。
搜索word
和\\<word\\>
的区别在于,第一个模式匹配wordfoo
,bar_word
等中的word
,而第二个则不匹配。那是因为\\<
和\\>
分别匹配单词的开头和结尾。
我想知道吸引单词的最佳方法是什么,就像*一样(或#,是向后的版本),但不更改光标位置。
解决方法
如果您想将
\\<
,ѭ9under和光标下方的单词放在一起
寄存器中的搜索模式,为什么不显式地这样做呢?
:let @/ = \'\\<\'.expand(\'<cword>\').\'\\>\'
(如有必要,将ѭ13更改为引用其他任何寄存器。)
如果需要,可以将此行映射为一键或两键
长度快捷方式。
:noremap <silent>,/ :let @/ = \'\\<\'.expand(\'<cword>\').\'\\>\'<cr>
,我认为通过查看yank选项您走错了轨道,我认为您需要编写一个快速宏来搜索寄存器中的单词并在其中添加单词边界标记。然后,您可以使用yiw
,yaw
,yw
以及所有其他各种标准的yank命令,您的宏将处理添加到搜索中的边界。
,*
将搜索标识符,并将搜索项放置在/
寄存器中。您可以通过在输入模式下按<Ctrl-R>/
或在正常模式下按\"/p
来访问它。
不幸的是,这会将光标移动到下一个匹配项。您可以使用标记保存当前位置。用ѭ22保存当前位置,并用\'a
恢复当前位置。
最后的命令是ma*\'a
。
,yw
命令从光标位置移至单词末尾。使用Vim文本对象,即使光标未位于单词的开头,使用yaw
命令也可以拖动光标所在的整个单词。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。