如果我的當前目錄是/ temp/src/com。在vim中編輯的文件來自/java/test.And現在我想將文件的路徑添加到路徑環境中。那麼如果在vim中有像set path+=$(filepath)
這樣的cmd?
案例2:在終端
運行make
將開始編譯一個項目,它會出這個編譯放日誌。現在我想用r !make
之類的命令將輸出的日誌讀入vim。
如果我的當前目錄是/ temp/src/com。在vim中編輯的文件來自/java/test.And現在我想將文件的路徑添加到路徑環境中。那麼如果在vim中有像set path+=$(filepath)
這樣的cmd?
案例2:在終端
運行make
將開始編譯一個項目,它會出這個編譯放日誌。現在我想用r !make
之類的命令將輸出的日誌讀入vim。
1)拉路徑到當前的Vim緩衝區:
:[R回聲\%PATH \%
追加到路徑:
:let $ PATH =「C:\ Test」。 $ PATH
2)這個問題不明確,因爲它取決於你的makefile行爲。 如果你的Makefile只是簡單地打印到控制檯,那麼:r make應該做的。 如果您的make文件實際寫入文件明確,然後沒有自動的方式。 您必須編寫自定義vimscript函數來提取日誌。
1)第2部分 我不知道在一行中做什麼的方法,但是這裏有一種方法來實現你想要的功能。
:再導向@a 「重定向輸出到註冊
:PWD
:再導向END」 停止重定向
:讓@a =代用品(@a, '\ n', '',「克')「刪除換行
:let $ PATH = @ a。」:「。$ PATH
如果您需要經常使用它,您應該可以將其封裝在函數中。
您可以使用$MYVAR
語法引用環境變量。要設置系統環境變量使用
let $MYVAR=foo
例如
let $PATH = "/foo" . $PATH
見http://vim.wikia.com/wiki/Environment_variables或:help :let-environment
然後你可以使用filename-modifiers在當前緩衝區來獲取文件的目錄名:
let $PATH = expand("%:p:h") . $PATH
讀取和解析編譯輸出在vim中您可能有興趣查看quickfix mode
使用:make
而不是:!make
感謝您的回答。它確實有幫助。第二個問題已經解決。但第一個問題我沒有清楚表達。我已經知道如何添加路徑。但是我還沒有解決的是如何從命令添加路徑生成。我們都知道'pwd'會在vim中打印當前目錄。然後我懷疑我是否可以將「pwd」添加到路徑中(儘管它已經在路徑中,我只是想澄清這個問題)。再次感謝。 –