以下bash脚本会在pwd
挂载当前sshfs
时检查:
if (! mountpoint -q $PWD ); then
# not mounted
else
# mounted
fi
我希望Vim在当前新打开的缓冲区上执行相同操作,如果当前目录是联网文件系统(意味着它已挂载),那么Vim应该执行set complete-=i
命令。仅在可能的情况下进行当前拆分。
答案 0 :(得分:1)
检查当前缓冲区的目录是否已挂载:
:call system('mountpoint -q ' . shellescape(expand('%:h')))
:let isMountpoint = (v:shell_error == 0)
要将其挂钩到缓冲区读取中,请通过:autocmd BufRead * ...
'complete'
选项确实是缓冲区本地的,所以使用:setlocal complete-=i
,你也可以实现这一点。
现在,您只需要组合各个部分:
:autocmd BufRead * call system('mountpoint -q ' . shellescape(expand('%:h'))) | if v:shell_error == 0 | setlocal complete-=i | endif