当我编写BUILD.gn文件时,我希望vim调用':!gn格式的BUILD.gn',我的.vimrc是(版本1)
autocmd BufWritePre *.{gn,gni} call GnFormat()
function! GnForamt()
exec '!gn format %'
endfunction
但是当我按':w'时它不起作用,它显示错误消息为
Error detected while processing BufWrite Autocommands for "*.gn":
"BUILD.gn" 67L, 1423C written
如何显示更多详细的调试信息以及调用外部格式工具的正确方法是什么?
我也尝试了以下方法,但也失败了(版本2)
autocmd BufWritePre *.{gn,gni} call GnFormat()
function! GnForamt()
exec '%!gn format --stdin'
endfunction
:11verbose w
的版本2 .vimrc的输出结果是
Executing BufWrite Autocommands for "*.{gn,gni}"
autocommand call GnFormat()
Error detected while processing BufWrite Autocommands for "*.{gn,gni}":
"BUILD.gn" 27L, 538C written
Executing BufWritePost Autocommands for "*"
autocommand cal s:record(expand('<abuf>', 1))
Executing BufWritePost Autocommands for "*"
autocommand call s:BufWritePostHook(expand('<afile>', 1))
在版本2中,我可以手动使用:call GnForamt()
重新格式化缓冲区,而不会出现任何错误消息。
只知道原因
autocmd BufWritePre *.{gn,gni} call GnFormat()
function! GnFormat() " <--- typo of Format as Foramt
exec '%!gn format --stdin'
endfunction
答案 0 :(得分:0)
尝试:debug w
(请参阅:h debug
)或:13verbose w
。参见:h verbose
和:h 'verbose'
。
:[level]verbose
将允许您为单个动作激活详细模式