【问题标题】:w command in Vim doesn't work properly with PythonVim 中的 w 命令不能在 Python 中正常工作
【发布时间】:2012-02-27 20:47:42
【问题描述】:

我在 vim 中使用 Python 工作时遇到了这个奇怪的问题,例如当我按 w 移动或删除时,它不会移动到正确的位置。例如,假设我有以下内容:

email_message.walk()

如果我的插入符号在开头并且我点击了 w,那么它会移动到 walk 的 W,而不是移动到右括号。

【问题讨论】:

  • w 移动到单词边界。这通常是空格/换行符/制表符/文本结尾/文本开头。
  • 实际上,我希望它移动到. 似乎你得到的是+w 行为(shift+w),而不仅仅是w。确保您没有打开 Caps 并且没有特定于可能导致此问题的 python 文件类型的映射。你可以试试:noremap w w 看看是否有什么不同。
  • 可能是插件问题,您在其他文件类型中是否遇到相同的错误? W(大写)应该移动到右括号,w 应该移动到 . 之前。
  • 如果你从行首开始,'w'命令应该移动到'.',下一个w应该移动到'walk'的'w',打开paren'(' . 当您的位置在开放括号上时,您是否对括号的突出显示感到困惑(?)
  • 我自己试过了。在dw 之前:email_message.walk()。在dw 之后:.walk()DW 删除所有 email_message.walk()。你确定你打的不是W而不是w

标签: python vim command


【解决方案1】:

我几乎可以肯定这里的问题在于“iskeyword”选项。 wb 之类的动作移动到此选项定义的单词边界。我打赌你安装了一个插件,设置添加'。并改变这种行为。

请参阅:help 'iskeyword' 了解有关此选项的更多信息,:verbose set iskeyword? 了解最后设置此选项的内容。

【讨论】:

  • 这是我从详细集 iskeyword 中得到的:iskeyword=@,48-57,_,192-255,.,( Last set from ~/.vimrc
猜你喜欢
  • 1970-01-01
  • 2018-10-18
  • 1970-01-01
  • 1970-01-01
  • 2020-06-28
  • 2016-10-09
  • 1970-01-01
  • 2019-04-13
  • 2010-09-20
相关资源
最近更新 更多