【问题标题】:Filename completion in vim with xterm doesn't work as expected使用 xterm 在 vi​​m 中完成文件名无法按预期工作
【发布时间】:2011-03-09 09:35:02
【问题描述】:

我的vim 发生了一些有趣的事情。我通过xterm 使用它。我希望能够自动完成我尝试打开的文件名。

例如:

# Cursor is | character
:o exam|
:o exam|<TAB>
:o examplefile.txt|

我确信vim 支持这个,但它对我不起作用。当我点击&lt;TAB&gt; 时,插入了一个^I 字符而不是完成文件名:

:o exam|<TAB>
:o exam^I|
:o exam^I|<TAB>
:o exam^I^I|

但是,&lt;TAB&gt;xterm 中的bash 中工作正常 - 它正确完成文件名并且扩展到^I

我的终端配置不正确吗?我需要一些stty voodoo 吗?还是完全是另外一回事?

编辑

:e 对我有用 - 似乎只有 :o 不...

【问题讨论】:

  • 为了完整性:确保您没有设置兼容模式 (:h 'cp') - 命令行上的自动完成功能仅在 :set nocp 时有效。我见过的一些系统附带 /etc/vimrc 包含set cp,使 VIM 更像 vi。

标签: vim special-characters filenames xterm autocomplete


【解决方案1】:

:o 在 vi​​m 中并不真正支持。尝试输入 :h :o,你会看到:

Vim 不支持打开模式,因为 它不是很有用。对于那些 ":open" 开始的情况 开放模式 Vim 将离开 Ex 模式, 允许执行相同的 命令,但更新整个屏幕 而不是只有一行。

我认为你混淆了 :o 和 :e (它们不一样)。

【讨论】:

【解决方案2】:

edit 为我工作:

:e exam|<TAB>

【讨论】:

  • Hrm... 它也适用于我!知道与:o 的差异可能是什么吗?
  • 似乎:o 没用——不管它应该做什么,可能是一个遗留选项,所以我猜功能较少......我总是使用:e 来处理edit 文件所以我从来没有注意到。
猜你喜欢
  • 1970-01-01
  • 2013-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-03
  • 1970-01-01
  • 2023-04-10
  • 2020-05-02
相关资源
最近更新 更多