返回值我想這樣做從內部Vim命令獲得Vimscript中
let colors = execute(":highlight")
這顯然是不正確的,所有我能做的就是execute(":highlight")
這將打開一個窗口,但我真正需要的是將該窗口的內容變爲一個變量 - 很像system()
調用將爲外部命令執行的操作。這可以做到嗎?
返回值我想這樣做從內部Vim命令獲得Vimscript中
let colors = execute(":highlight")
這顯然是不正確的,所有我能做的就是execute(":highlight")
這將打開一個窗口,但我真正需要的是將該窗口的內容變爲一個變量 - 很像system()
調用將爲外部命令執行的操作。這可以做到嗎?
有一個叫做:redir
的命令,它專門設計用來捕獲一個或多個命令在一個文件,一個寄存器或一個變量中的輸出。在後一種情況下,用法如下面的示例 。
:redir => colors
:silent highlight
:redir END
要查看調用命令的方式完整列表,請參閱 :help :redir
。關於:redir
的實際用途,請參見my answer至Extending a highlighting group in Vim的問題。