在目录中执行 vi 不会列出文件

在目录中执行 vi 不会列出文件

这似乎是 Ubuntu 13.10 中潜伏的一个新错误(功能?)。当我vi在目录中执行时,它不会列出我可以使用箭头键导航到的文件;它只显示一个空白屏幕,并显示消息“非法文件名”。

现在很麻烦,因为ls如果我不知道要编辑哪个文件,我必须先进入目录,然后在命令参数中的目录后输入整个文件名。

当我进入vitmp 等时,甚至在我有写权限的主目录中,都会发生这种情况。

答案1

您所描述的行为是由错误网络,这是处理文件浏览的插件。

更新到插件的最新版本可以修复此问题。

为此,只需下载netrw 的最新版本,在 vim 中打开并执行 source 命令。这样会将插件提取到你的~/.vim目录中,它会在系统有缺陷的版本之前加载。

下载文件:

wget http://www.drchip.org/astronaut/vim/vbafiles/netrw.vba.gz

打开方式vim

vim netrw.vba.gz

在 vim 中,获取它:

:so %

之后,关闭 vim。然后,再次享受浏览目录的乐趣。

更新:在一个盒子上,这给了我一个错误,说无法关闭最后一个窗口。对插件没有影响,之后插件运行正常。

第二次更新:此版本的网络期望 vim 版本具有剪贴板能力。

你可以通过运行来检查你的版本是否具有此功能vim --version。输出可能会有-clipboard,这意味着该功能未启用。

要获得支持剪贴板的编译版本,请安装任何带有 GUI 的 vim 版本,它还将使用vim带有剪贴板支持。我用过vim-gtk作为测试用例。

答案2

我尝试按照 drc 给出的步骤进行操作,但出现了奇怪的错误(可能是由于缺乏剪贴板支持)。

以下内容在 ubuntu 13.10 docker 镜像中对我有用,只使用标准版本的 Vim,不支持剪贴板:

vim /etc   # blank screen

wget http://www.vim.org/scripts/download_script.php?src_id=21427 -O netrw.vba.gz

# install the vimball
# may throw error E444, but this can seemingly can be ignored
vim netrw.vba.gz +"so %" +q  

vim /etc  # works fine

请注意,我所做的与 drc 不同的地方在于我使用了稍旧版本的 netrw 插件,即 2014-02-04 上传到 vim.org 的插件。

相关内容