最後のコマンドを実行せずに取得できるトリックを思い出せません。
上矢印キーを押してコマンドを変更するときに!1255コマンドにアクセスできるようにしたいとしましょう。それでは、コマンドを呼び出して、コマンドラインに表示されるが実行されず、その後矢印キーでアクセスできるようにするコツは何ですか?
エコーを入れてみましたが、コマンドの前にエコーがあります。正しく行う方法を覚えていません。
最後のコマンドを実行せずに取得できるトリックを思い出せません。
上矢印キーを押してコマンドを変更するときに!1255コマンドにアクセスできるようにしたいとしましょう。それでは、コマンドを呼び出して、コマンドラインに表示されるが実行されず、その後矢印キーでアクセスできるようにするコツは何ですか?
エコーを入れてみましたが、コマンドの前にエコーがあります。正しく行う方法を覚えていません。
回答:
!1255:p
これをします
!
履歴のリコール
1255
は行番号の
:p
印刷ですが実行されません
次に、上矢印キーを使用して、前の(実行されていない)コマンドを取得し、必要に応じて変更できます。
私はよくこれをhg
( "History Grep")-私のお気に入りのエイリアスと組み合わせます。
$ alias hg # Maybe use hgr instead if you are a Mercurial CLI user.
alias hg='history | tail -200 | grep -i'
これは、大文字小文字に関係なく、最近の履歴行でテキストを検索し、次のように使用されます。
特定のファイルを編集するために最近のviコマンドを検索し、それらの1つを再利用して同じファイルを編集しますが、ファイル拡張子は異なります。
$ hg variables
6153 vi Variables/user-extensions.js
6176 vi Variables/user-extensions.js
6178 vi Variables/user-extensions.js
6190 vi Variables/user-extensions.js
6230 hg variables
$ # Notice the difference in case with V and v is ignored
$ !6190:p
vi Variables/user-extensions.js
$ ["up-arrow"]
$ vi Variables/user-extensions.[now change .js to .html]
またhga
、私の履歴全体を検索するように定義します( "History Grep All"):
$ alias hga
alias hga='history | grep -i'
しかし、私の履歴は(意図的に)非常に大きく、出力が多すぎるため、後で端末内のページをスクロールバックするのに影響するため、あまり使用しません。
hg
もMercurialのCLIです。
打撃Ctrl+をR(コメントで合図@gnpとして結合Emacsの逆インクリメンタルサーチキーです)、端末にすると、特定のコマンドのhistroryで検索することができます。コマンドが表示され、実行する前に編集できます。次のようなものが表示されます。
bash Ctl+alt+e
ではシェルが展開されるため、!1255
この組み合わせを入力してから押すと、現在の行が履歴エントリ1255の内容に置き換えられます
man bash
として文書化されていshell-expand-line
ます。gnome-terminalのショートカットセットがあるかもしれません。