更改分隔符以便按字导航

时间:2011-04-15 11:00:26

标签: linux vim editing

在编程/编写时,我大量使用逐字命令,例如“按一个单词向左/右移动”,“按Ctrl删除下一个/最后一个单词” (+ leftbackspace ...)。

我遇到的问题是,当我正在编辑的文本包含不会被识别为单词的符号时,因此ctrl + right会跳过一系列符号和一个常规字。这一点。

理想情况下,我希望能够将单词操作的分隔符设置为空格,制表符,换行符以及开始和结束括号 - 也可以是算术运算符(类似于Eclipse处理它的方式)。

我正在使用Linux。您是否知道如何更改我的系统范围或xterm和(g)vim单独设置以实现此目的?

2 个答案:

答案 0 :(得分:3)

最有可能的是,系统范围内无效。 VIM很简单,您可以使用 iskeyword 设置来设置定义标识符的字符。在你的情况下,它有太多,你需要删除你需要的那些,或通过添加你想要的那些重新定义它。例如:

:set isk=9,32,50-51
这会将关键字检测设置为空格,制表符和括号。

但是,在VIM中,您可以根据单词和WORD跳转,其中第一个是由上面的 iskeyword 设置定义的,而后者将跳过所有非空白字符。也许,这就是你想要的动作。您可以在帮助中阅读更多相关信息(:help w )。

答案 1 :(得分:3)

为什么不使用Vim的普通模式字动作命令,而不是按住控制键并按下左/右光标键?

  • w / W - 转到下一个单词/ WORD的开头
  • e / E - 移到下一个单词/ WORD的结尾
  • b / B - 移至上一个单词/ WORD的开头
  • ge / gE - 移到上一个单词/ WORD的结尾

您可以通过运行:help word来了解 WORD 之间的区别。