2010-06-24 86 views
0

在我的.gvimrc裏,我有以下行:如何映射密鑰以執行程序,並在GVim中顯示其輸出?

map <f4> :!./%< 

上的源文件,我必須按F4,然後進入,但它工作正常,顯示輸出,並掛起,直到我再次按下Enter 。

如果我改變它:

map <f4> :!./%< <CR> 

它的行爲顯示輸出,但不等到我按回車鍵(等輸出變得無法讀取)。

有沒有什麼方法可以顯示程序的輸出,並且直到按下回車鍵,而不必按命令的之前的輸入,而不必打開一個單獨的窗口?

+0

我試過了你的命令,gViM等我按下Enter,這樣我就可以讀取輸出了。 gViM的版本是什麼?你也可以檢查':map'來查看是否沒有衝突的映射。 – Pikrass 2010-06-24 14:25:05

+0

@Pikrass除非你確定要使用'map',否則最好不要在所有情況下檢查':map'是否存在衝突的映射,而是使用'* noremap'。 – ZyX 2010-06-24 18:55:59

+0

Fixman如果將'map'改爲'noremap'無效,請發佈':set'(不帶參數)的輸出。可能有一些選項可以抑制«hit enter»提示。 – ZyX 2010-06-24 18:59:17

回答

3

您的第二個映射應該可以正常工作。有時候這個問題是由於在映射結尾處有一個額外的空間而引起的。

1

請參閱:help redir。您可以將該輸出重定向到一個寄存器並將其轉儲到緩衝區中。

爲了讓你瞭解它是如何工作的,我在我的vimrc中查看了:g/的結果。

"" Puts the last g search command in a new buffer -- clobbers your c buffer 
cabbrev what :redir @c<CR>:g//<CR>:redir END<CR>:new<CR>:put! c<CR><CR> 
0

您的第二個映射應該可以正常工作。一個有用的替代方案是安裝Dr Chip的RunView插件。這可用於使用一個窗格中正在編輯的腳本和另一個窗格中腳本的輸出來創建垂直分割窗口。每當您點擊您映射的鍵時,腳本的輸出就會添加到輸出窗格中。

對調試腳本非常有用。

+0

鏈接已死;新的位置是http://www.drchip.org/astronaut/vim/index.html#RUNVIEW – 2013-01-23 01:18:15

+0

謝謝,我糾正了鏈接。 – DrAl 2013-02-12 08:28:04

相關問題