首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VIM:跳过视觉选择的单词

VIM:跳过视觉选择的单词
EN

Stack Overflow用户
提问于 2012-03-20 17:52:04
回答 2查看 351关注 0票数 1

自从发现了VIM,我发现用小写输入SQL,然后把我需要的单词变成大写的更简单。有没有办法在视觉模式下跳过一个单词,这样它就不会成为选择的一部分,这样我就可以选择所有的MySQL关键字,然后对它们执行U?例如,假设下面的SQL查询:

代码语言:javascript
复制
select a.name, b.userid from someTable a inner join anotherTable b on a.someField=b.someOtherField group by a.randomField sort on b.yetAnotherField desc;

我想选择第一个单词( select ),跳过两个单词,选择另一个单词(from),跳过两个单词,选择两个单词(inner ),依此类推。

我确实将Ctrl-6映射为大写字母(以避免在正常模式下激活Caps Lock ),但我确实更喜欢先键入小写的SQL,然后再“修复”它。我也知道小写的SQL是有效的,但是编码实践要求它在代码中应该全部大写。

我试图编写一个遍历当前行并将所有MySQL关键字大写的函数。然而,即使我真的走了这条路,我仍然想知道在视觉模式下跳过单词的解决方案,因为我也看到了它的其他用途。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-20 18:26:13

如果您要沿整行移动光标,另一种方法是根本不使用视觉模式:

将光标放在代码上时,键入

  1. 以将其转换为带有多个w (可能无效)或/fr<CR> (可能更快,键入更少)的

to from。单击<w>d12select >重复上一次编辑并将<select>d13转换为

票数 3
EN

Stack Overflow用户

发布于 2012-03-20 18:06:53

你是在问可视模式下是否可以选择多个不相交的区域?

如果是这样的话,这不可能在普通的Vim中完成,但是Multiselect plugin声称可以做到这一点。(免责声明:我自己没有使用过这个插件。)

如果您发现自己经常执行此工作流程,那么我认为函数式解决方案更有效率。(您甚至可以在文件保存时自动触发它,只要它足够健壮。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9784502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档