Bash

使用 set -o vi 的優點

  • December 18, 2018

我見過許多開發人員使用此命令將選項設置為 vi。我一直不明白這個的真正用途?

使用 bash 命令時,切換到 vi 有什麼幫助?

通過將您的 readline 編輯設置為 emacs(預設)或 vi ( set -o vi),您實際上是在跨 shell 和您選擇的編輯器1標準化您的編輯命令。

因此,如果您想在 shell 中編輯命令,您可以使用與在文本編輯器中相同的命令2 。這意味著只需要記住一種命令語法,並且(如果這還不夠優勢的話)可能會使您在兩種環境中的編輯更快,更不容易出錯……

您可以在 vi 模式下進一步利用這種關係,方法是從 shell 歷史記錄中提取任何命令,點擊Escape進入命令模式,然後點擊v,這將打開您的 $EDITOR 並載入命令以使用 vim 的全部功能進行更複雜的編輯。一旦您完成了對命令的滿意編輯,該命令將:wq在您的 shell 中執行。

  1. 當然,假設您使用 Emacs 或 Vi/m 作為您的編輯器。

  2. 或者,更準確地說,是其中的一個子集……

引用自:https://unix.stackexchange.com/questions/30454