微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Vim“:source%”命令导致错误(E499)

你好伙伴Stack Overflow vim用户,
   我最近发现自己花了相当多的时间在我学校的计算机科学实验室编写代码.我已经在无数的 Linux系统上配置了vim,并且从未遇到过这个错误

E499: Empty file name for '%' or '#',only works with ":p:h"

在vim中的命令中使用%时,会发生此错误.我以前从未见过这个,但我会尽可能多地提供信息.这是我的.vimrc:

set nocompatible
filetype off

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin 'VundleVim/Vundle.vim'
"Plugin 'scrooloose/nerdtree'
"Plugin 'bling/vim-airline'
"Plugin 'altercation/vim-colors-solarized'

call vundle#end()
filetype plugin indent on

我已经注释掉了最后几个插件,看看它们是否与错误有任何关联,但这似乎没有帮助.我像往常一样使用Git安装vim:

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

之后我所做的就是运行:PluginInstall来安装插件,然后尝试使用:source%,导致错误.

这真的让我很难过,我希望能解决它,因为我想在这个CS类中使用我自定义的vim​​设置,但是我可以处理ViM甚至Vi的库存,或者它是否涉及到它… nano .

编辑:使用Ubuntu 15.04

解决方法

这似乎与空%有关.你可以做两件事:在调用vim:vim myscript.vim时调用文件名,然后调用:source%,或者将文件名传递给:source(:source myscript.vim).

编辑

如果发出:help寄存器,则列出%是包含当前文件名的只读寄存器.因此,如果您正在编辑没有文件名(未保存)的缓冲区,则此寄存器为空,因此您会收到错误消息.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐