Bash

在 $EDITOR 中打開命令的 bash 功能在哪裡記錄?

  • January 2, 2022

我最近發現,如果我們按Ctrl++ ,bash 在編輯器中打開目前命令(設置在or中X Ctrl)並在編輯器關閉時執行它。但它似乎沒有記錄在頁面中。E``$VISUAL``$EDITOR``man

我現在發現了。在問這個問題之前,我應該更仔細地閱讀它。

man頁面說:

edit-and-execute-command (C-xC-e)
          Invoke  an  editor  on the current command line, and execute the
          result as shell commands.   Bash  attempts  to  invoke  $VISUAL,
          $EDITOR, and emacs as the editor, in that order.

正如在接受的答案下的評論中所討論的那樣,擁有無需立即執行的編輯器功能非常方便/安全。

添加此項以.bashrc使綁定禁用執行。Ctrl xe

_edit_wo_executing() {
   local editor="${EDITOR:-nano}"
   tmpf="$(mktemp).sh"
   printf '%s\n' "$READLINE_LINE" > "$tmpf"
   $editor "$tmpf"
   READLINE_LINE="$(<"$tmpf")"
   READLINE_POINT="${#READLINE_LINE}"
   rm "$tmpf"
}

bind -x '"\C-x\C-e":_edit_wo_executing'

學分:https ://superuser.com/a/1601690/266871

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