通常、上矢印キーを使用して前のコマンドを取得できます。しかし、これが常に機能するとは限らず、代わりにASCIIシーケンスが得られる場合があります( "^[[A
... ")ですが、矢印キーのない古いキーボードにもこの機能があったのでしょうか、当時はどのように機能しましたか?
別の方法はありましたか?
Emacsモードでは、 Ctrl-P (前)、他の方向は Ctrl-N (次)
viモードでは、 ESC (コマンドモードに移動するには)および k 上がってくれて j 降りて
シェルで2つの感嘆符を使用してそれを行うことができます:!!
お気に入りのシェルにhistory
と入力するだけで、履歴全体のダンプがトリガーされます。
ctrl-r
+検索したコマンドの最初の文字を入力しています...
言ったように、それはシェルに依存しますが、これらの回答に加えて、別の方法:
history
コマンドは、次のような出力を表示します。
89 bash --version
90 source /Library//Developer/CommandLineTools/usr/share/git-core/git-completion.bash
91 brew install bash-completion
92 source ~/.bashrc
そして、あなたは例えばすることができます
!89
コマンドを再実行するには(bash --version
この場合)
最後のコマンドを要求できる層がいくつかあります。
行エディター(コマンドを入力する場所)は、ksh、bashのライブラリreadline、およびzshのライブラリzleによって直接提供されます。 dashなどの他のシェルには、このキーを理解するための編集ライブラリがない 場合があります(--with-libedit
オプションを有効にしてコンパイルした場合を除く)。
Ksh、bash、zshでのこの作業:
Ctrl-P #Emacsモード(前)
Ctrl-N #Emacsモード(次へ)
ESC-k #viモードESCでコマンドモードに、kでアップ
ESC-j #viモードESCでコマンドモードに、jでダウン
多くのシェルによって提供される履歴システムは、いくつかのショートカットの拡張を可能にします:
!! # bash and zsh, may be provided by `alias \!\!='fc -e -'` in ksh.
!-1 # bash and zsh only
履歴コマンドを取得できるコマンドがいくつかあります。
かなり冗長なコマンドのように(印刷のみ):
history 2 | head -n-1
またはolderしたがって、通常はより移植性の高いfc
コマンド(直接再実行):
fc -e - -1
または、おそらくより単純なfc -s -1
ですが、zshはfcにそのようなオプションを受け入れません。
コマンドのみprintにする場合は、fc -nl -1 -1
を使用します。
編集するには、FCEDIT
をテキストエディタ(ex、ed、emacs、viなど)に設定し、fcを直接使用します:fc -1
。
シェルに依存しますが、いくつかの方法があります:
!!
Ctrl + P
!-1
すべてはEnter
を押してコミットする必要があります