2014-03-26 129 views
2

當輸入一個很長的命令時,我想先在文本編輯器(例如vi)中編輯命令,然後在輸入錯誤時執行。有沒有辦法直接在終端中編輯命令並運行而不是通過輸入vi來調用vi然後輸入命令?如何在Linux上使用vi編輯終端中的命令?

回答

7

如果您使用bash,請嘗試edit-and-execute-command命令。默認情況下,這被分配到Ctrl-x Ctrl-e(鍵入ctrl-x,然後ctrl-e)。

這應該打開您的環境中指定的任何編輯器。不管退出時緩衝區中的內容都將在外殼中執行 - 包括多行命令。

2

您可以通過設置vi編輯模式。如果你使用bash,你可以輸入:

set -o vi 

然後你就可以就像在vi命令的使用模式和插入模式。

0

如果您使用的是zsh,則shell命令被稱爲edit-command-line。它不是默認的約束,所以添加這樣的事情到您的配置:

bindkey "^X^E" edit-command-line 

現在CTRL + XCTRL + E將努力以同樣的方式在bash除了命令之前不執行返回被擊中。