Shell 有没有办法根据目标的扩展而不是链接来配置vim以突出显示语法

Shell 有没有办法根据目标的扩展而不是链接来配置vim以突出显示语法,shell,unix,vim,vi,readlink,Shell,Unix,Vim,Vi,Readlink,我想知道是否有办法使vim始终根据目标扩展而不是符号链接的扩展突出显示 我写了一个小的shell函数,可以做我想做的事情,但它并不完美 以下是我的功能: function myVI () { local filename=$(readlink $1); vim -c "cd $(dirname $1)" "$filename"; } 这并不理想,如果存在,我更喜欢本机vim cmd。如果在该文件中没有可以帮助您的modeline,则很难通过vimscript中的文件名或扩展名来确定

我想知道是否有办法使vim始终根据目标扩展而不是符号链接的扩展突出显示

我写了一个小的shell函数,可以做我想做的事情,但它并不完美

以下是我的功能:

function myVI () {
   local filename=$(readlink $1);
   vim -c "cd $(dirname $1)" "$filename";
}

这并不理想,如果存在,我更喜欢本机vim cmd。

如果在该文件中没有可以帮助您的modeline,则很难通过vimscript中的文件名或扩展名来确定文件类型。但您可以将其添加到vimrc中

"" opens original file instead of symlink
autocmd BufEnter * if getftype(expand("%")) == 'link' | execute 'file '.system('readlink '.expand('%')) | endif

如果在vimscript中没有可以帮助您的modeline,那么很难通过文件名或扩展名来确定文件类型。但您可以将其添加到vimrc中

"" opens original file instead of symlink
autocmd BufEnter * if getftype(expand("%")) == 'link' | execute 'file '.system('readlink '.expand('%')) | endif

我的回答解决了你的问题吗?我的回答解决了你的问题吗?