在vim换档中+;w(w)不起作用。它像w一样向前移动。我怎么修理它?
我使用的是vim 7.3,它是通过OS X 10.8.3上的自制软件安装的。由于某种原因,在vim换档中+;w(w)不起作用。它像w一样向前移动。我怎么修理它?,vim,macvim,Vim,Macvim,我使用的是vim 7.3,它是通过OS X 10.8.3上的自制软件安装的。由于某种原因,W或E在正常模式下都不能正常工作。它不是一次向后移动一个单词,而是向前移动。W的行为与W相同。而E的行为与E相同 我已经在正常模式下尝试了o和o命令,它按预期工作,因此我的shift键并没有断开 这让我抓狂,因为它是如此核心的功能以至于我无法工作。我已尝试擦除我的vimrc和vim目录,并更改shell 如果有人能帮我解决问题,或者就如何诊断问题给出好的建议,我会同意他们的答案。shift+W通常不会反向工
W
或E
在正常模式下都不能正常工作。它不是一次向后移动一个单词,而是向前移动。W
的行为与W
相同。而E
的行为与E
相同
我已经在正常模式下尝试了o
和o
命令,它按预期工作,因此我的shift键并没有断开
这让我抓狂,因为它是如此核心的功能以至于我无法工作。我已尝试擦除我的vimrc和vim目录,并更改shell
如果有人能帮我解决问题,或者就如何诊断问题给出好的建议,我会同意他们的答案。shift+W通常不会反向工作。它像w一样向前移动,只是对“单词”有不同的定义(例如,w将跳过“hello world”,w将以连字符结尾)
向后移动是b
请先使用vim帮助(
:在本例中为h W
),然后再考虑是否有故障。您描述的功能不是标准的vim,但如果您已经习惯了,请尝试以下映射:
nnoremap W B
nnoremap E gE
W
和E
不是W
和E
的向后版本(分别是b
和ge
)
小写版本考虑单词停止在非单词字符中,例如标点符号或空格。大写版本只考虑空白(因此移动过去的单词加上标点符号)。vim手册清楚地解释了所有组合:
ge b w e
<- <- ---> --->
This is-a line, with special/separated/words (and some more).
<----- <----- --------------------> ----->
gE B W E
ge b w e
这是一行,带有特殊/分隔/单词(以及更多)。
通用电气公司
您可以在“移动”下的“快速入门”(
:help usr_03.txt
)中找到此概述,更多详细信息请参见:help word motions
w
表示转到“单词”的开头。在Vim中,“单词”表示:
- 字母数字和下划线的顺序(正则表达式:
),或\w+
- 其他非空字符的序列(regex:
)[^\s\w]+
W
表示前进到“单词”的开头。在Vim中,“单词”表示:
- 非空字符序列(regex:
)\S+
:help usr_03.txt
- 包含7个单词:“
”、“:
帮助”、“
”、“usr
”、“
”、“03
”、“
”txt
- 包含两个单词:“
”,“:help
”usr\u 03.txt
e
,e
,b
,b
的工作方式类似
与问题没有直接关系,但如果您想找到一个键(或键组合)的作用,只需使用
:h {key}
注:套管问题
示例:
:hw
:hw
:h yy
或速记:h CTRL-W\u T
^W\u T
B
的向后等价于W
,贪婪地向后移动到下一个空格字符。谢谢,我真不敢相信我这么愚蠢。我以前使用过很多vim,但记不清它是如何使用的。答案很好,但在参考vim手册时,请显示所使用的命令,因为它并不总是容易找到。您的期望是错误的。如有疑问,请阅读:help
…:help b
,:help b
,:help e
,:help e
等的相关部分,以备将来参考;如果Vimrc中有错误,您不需要删除它进行测试;只需执行$vim-u NONE-u NONE
。有关更多信息,请参阅$man vim
。此外,~/.viminfo
中可能有错误,但这只是针对那些非常奇怪的行为错误。@timss请停止在不适用的位置添加
标记!你的键盘上有e
和e
键吗?您的键盘上有o
和o
键吗?我想不是@timss Vim有自己的符号,这种符号已经使用了20多年。任何Vim用户都需要知道这个符号,因为它适用于映射、帮助和流行文献,如实用Vim<代码>标记是一个很好的HTML小功能,但对于实际的Vim用户来说,它们往往更容易混淆,而不是有帮助。@glts这是一个很好的观点。谢谢你指出我对的恼人用法,我以前没有看到反对它的大争论,我的编辑一直被接受,所以我没怎么想。