我遇到了一个非常烦人的vim完成行为,我无法弄清楚如何配置vim以表现不同。也许根本不可能。
假设我正在使用以下内容编辑文件:
MyCompany2
MyCompanies
MyCompany3
现在我想添加另一个条目(比如MyCompanyABC),所以我输入My
并点击 Ctrl-N ,所以现在我有了
MyCompany2
现在我点击退格,然后 A 所以我在
MyCompanyA
不,我决定再次尝试完成,所以我点击 Ctrl-N ,vim带我回到
我
那么有没有办法让它最后一步保留我已有的东西?
更新
我给错了完成序列。如果首先按 Ctrl-P ,则会出现我描述的问题。然后在上面的场景中你得到了其余的,如上所述。
MyCompany3
答案 0 :(得分:0)
这在我的机器上不是这样的(Ubuntu 10.10,vim 7.2.330)。如果我这样做:
vi
输入您在上面提供的文字
MyCompany2
MyCompanies
MyCompany3
在
Ctrl-N不执行任何操作 - 正如所料,状态栏显示:-- Keyword completition (^N^P) Pattern not found
。
你有可能有一些改变默认行为的插件吗?您还可以尝试vi -u NONE
检查.vimrc
中是否有某些内容正在改变此行为。如果你有其他系统来检查它,那就最好。
答案 1 :(得分:0)
您确定要在不事先按Ctrl-X的情况下直接使用Ctrl-N吗? Ctrl-N还将搜索所有打开的缓冲区。
也许按CTRL-X CTRL-N或CTRL-X CTRL-P会导致更稳定的完成。