質問: コマンドを入力していない場合、ubuntuターミナルでコマンドを保存する方法はありますか? ubuntuのターミナルでコマンドを保存する簡単な方法があるかどうか疑問に思っていました。シナリオは次のとおりです。問題: [長いコマンド]を入力した [長いコマンド]を実行する前に[別のコマンド]を実行する必要があることを忘れた コマンドを保存して、後で#を前に置いて上下キーの履歴に置くだけではなく、簡単に使用できるようにしたいと考えています。レジスタまたはクリップボードに直接保存するのが最適です。私もエコーしたくなかったと言うのを忘れていました。
回答: シェルがemacsモード(bashの通常のデフォルト)に設定されている場合:#set -o | grep emacs emacs on その後、次のことができます。<ctrl>a or <arrowkeys> # to go to the beginning of the current line or to wherever you want <ctrl>k # to "kill" the content from the cursor position to the end of the line + save it ... here you type the command you forgot to add ... <ctrl>y # to "yank" the saved line into the current editing line. or <ctrl>p in ksh(??) <enter> # to execute it #note: you can also replace: <ctrl>a<ctrl>k with: <ctrl>u # kills the whole line + save it これは非常に速く、習慣になります。 ctrl-kは、行の「終わり」のみを保存する場合にも役立ちます(例:後で再利用することがわかっている2つの長い引数、「kill」(+保存)、「yank」できること何度でも戻ってください)シェルがviモードの場合、通常のvimコマンドを使用できます。<esc> # to go back to normal(command) mode, if you were in editing mode dd # to delete the whole current line + save it (see note below) i # to reenter editing mode ... here you type the command(s) you forgot ... <esc> # to return to normal mode p # to paste the buffered line + place the cursor on top of the last character a # to reenter editing mode past that current character <enter> # to execute it # note: instead of "dd" (kill whole line) you can simulate emacs <ctrl>a<ctrl>k with: # | or h or l # to go to the 1st char of the line or wherever # simulates <ctrl>a or <arrow keys> # d$ # to delete from the current position to the end of the line + save it # <ctrl>k