Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim Windows自动命令文件名=8.3_Vim - Fatal编程技术网

Vim Windows自动命令文件名=8.3

Vim Windows自动命令文件名=8.3,vim,Vim,我试图通过文件名来识别文件 例如,我有以下文件: 2300039_2234552_779799_ABC.xml 2234439_2456644_123423_XYZ.xml 以及以下自动命令: autocmd BufRead,BufNewFile *.xml call CheckFileType() 对于测试用例,我只是将当前文件名保存到一个全局变量中 function! CheckFileType() let g:filename = expand("%:p:t") endfunc

我试图通过文件名来识别文件

例如,我有以下文件:

  • 2300039_2234552_779799_ABC.xml
  • 2234439_2456644_123423_XYZ.xml
以及以下自动命令:

autocmd BufRead,BufNewFile *.xml call CheckFileType()
对于测试用例,我只是将当前文件名保存到一个全局变量中

function! CheckFileType()
   let g:filename = expand("%:p:t")
endfunction
文件加载完成后,我会回显文件名:

echo g:filename
结果:223443~1.XML

但是为了便于识别,我需要完整的文件名

当我随后重新加载文件并再次回显文件名时,我得到了长文件名。 wtf

此行为仅在从外部加载文件时出现(例如“C:\Vim\vim73\gvim.exe”--远程静默C:\2234439_2456644_123423_XYZ.xml)。当从实习生(:e)加载时,一切都如预期的那样

有什么想法吗


提前谢谢

我找到了原因;我的XML文件类型插件中的这个小片段导致了我的问题:

if (getfsize(expand("%:8")) < 5000000)
   set foldmethod=syntax
else
   set foldmethod=manual
endif
if(getfsize(展开(“%:8”))<5000000)
set foldmethod=语法
其他的
设置foldmethod=手动
恩迪夫

似乎Vim记得这个扩展调用…

我找到了原因;我的XML文件类型插件中的这个小片段导致了我的问题:

if (getfsize(expand("%:8")) < 5000000)
   set foldmethod=syntax
else
   set foldmethod=manual
endif
if(getfsize(展开(“%:8”))<5000000)
set foldmethod=语法
其他的
设置foldmethod=手动
恩迪夫

看起来,Vim记住了这个扩展调用…

CheckFileType
函数上使用
let g:filename=expand(“”
是否也有相同的行为?根据您的应用程序,您也可以尝试
bufwanter
。很高兴您解决了这个问题!如果其他人遇到类似问题,发布解决方案作为答案可能是一个好主意。在
CheckFileType
函数上使用
let g:filename=expand(“”
是否也会得到同样的行为?根据您的应用程序,您也可以尝试
bufwinter
。很高兴您解决了它!如果其他人面临类似问题,将解决方案作为一个答案张贴出来,以便于阅读,这也许是一个好主意。