vim BufEnter自动命令在FTP文件上失效

4
我在我的 .vimrc 文件中设置了一个自动命令,当进入缓冲区时会触发该命令,使当前工作目录切换到该缓冲区所在的目录(非常有用)。
au   BufEnter *   execute ":lcd " . expand("%:p:h")

问题在于这个命令无法在FTP文件上运行(这可能是你所预料的)。真正的问题在于错误信息告诉我它失败了。有没有办法抑制错误消息,或者同样地“cd”到FTP文件的当前目录中(以使打开目录中的其他文件更容易)。
尽管只是让错误消息消失就已经非常有帮助了!我尝试过各种使用:silent命令的实验,但要么它对这个命令不起作用,要么我没有放置在正确的位置。
1个回答

6

您尝试了吗:

au BufEnter * execute ":silent! lcd " . expand("%:p:h")

:silent!的作用是跳过错误和信息。

顺便提一下,还可以查看:h 'autochdir',它与您的自动命令类似。 (但是请参阅:h netrw-incompatible以获取注意事项。)


谢谢 - 这正是我想要的。我看了一下那个autochdir变量,我想我会坚持使用autocmd,因为我知道它可以与我想要的所有插件一起使用。 - Greg Reynolds

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接