端末(またはtmux)の最後のプロンプトに移動

端末(またはtmux)の最後のプロンプトに移動

ターミナルから前/次のプロンプトに移動するショートカットはありますか?上にスクロールしてログの先頭を見つけようとすると、ワークフローが遅くなります。

私は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シェルプロンプトの代わりにコマンド出力の先頭に移動する場合にもオプションがあります。

関連情報