ターミナルから前/次のプロンプトに移動するショートカットはありますか?上にスクロールしてログの先頭を見つけようとすると、ワークフローが遅くなります。
私はOSXでiTermを使用していますが、これはすべてのUnix端末で動作します。 Tmuxのソリューションも役に立ちます。
答え1
tmux v2.4+内部(関連提出物)、許容可能な信頼性で最後のプロンプトに移動するバインディングを定義できます。
bind-key b copy-mode\;\
send-keys -X start-of-line\;\
send-keys -X search-backward " "
どちらが" "
一つですか中断されないスペース$PS1
シェルプロンプトに(またはbashに)含まれるように適切に変更してください$PROMPT_COMMAND
。
シェルプロンプトとtmux構成でこれを設定するには、コピー&ペースト操作中に通常のスペースに変更される可能性があるため、特別な注意が必要になる場合があります(vimの使用方法の説明を参照)。
あるいは、お気に入りの選択肢を試してみることもできます。Unicode スペース文字または、コマンド出力にほとんど表示されないすべての項目があり、プロンプトに表示される内容を受け入れる準備ができています(
答え2
less
ログファイルの内容を表示したり、Spaceキーbを使用して前後にスクロールできます(less
マニュアルを参照)。また/、(および?リバース検索)を使用して出力で検索を実行することもできます。
でプログラムの出力を表示するには、less
出力をここにパイプするだけです。
$ ./myprogram | less
出力をファイルにさらに保存するには、次の手順を実行します。
$ ./myprogram | tee myprogram.out | less
F作成中のファイルの読み込み中に押すかのようにless
動作しますtail -f
。この操作を中止するにはCtrl+を押しますc。
答え3
tmux v3.4+ には、OSC 133 をサポートするシェル用に特別にこの目的のために組み込まれたコマンドがあります。
tmux bind -T copy-mode n send-keys -X next-prompt
tmux bind -T copy-mode p send-keys -X previous-prompt
-o
シェルプロンプトの代わりにコマンド出力の先頭に移動する場合にもオプションがあります。