3
我有一系列vim命令將選定的塊寫入臨時文件,在該文件上運行函數(knitcite),然後在另一個文件中讀取:vim運行選擇命令(或功能)
w! ~/.vbuf <CR>
!knitcite ~/.vbuf ~/.vbuf <CR>
r ~/.vbuf <CR>
如果我運行的第一個命令之前選擇在視覺模式的文本塊,就變成
:'<,'>w! ~/.vbuf <CR>
選擇的內容傳遞給文件,因爲我需要。我可以把它放到我的.vimrc中的一個簡單的vim函數中,但是不知道如何將視覺選擇的內容傳遞給函數。如果這是一個單一的命令而不是三個命令,我可以用一個可視化的地圖來做到這一點,但不知道如何用三個命令來做到這一點。例如:
command knitcite call Knitcite()
func! Knitcite()
exec "w! ~/.vbuf <CR>"
exec "!knitcite ~/.vbuf ~/.vbuf <CR> "
exec "r ~/.vbuf <CR>"
func
但是這並沒有從視覺模塊傳入任何數據。我想我需要給我的Knitcite函數提供一個參數,但不知道它會是什麼。 (看來,這可能與this SO question但我無法弄清楚如何從這個答案概括。)
感謝您提供兩個直接答案的問題和更好的方法通過用包裝的建議一個shell腳本。太棒了。 – cboettig
@cboettig謝謝。注意我只是從信號陷阱中刪除了多餘的引用 – sehe