シェルで現在のディレクトリをプレビューする

シェルで現在のディレクトリをプレビューする

シェル (zsh) で作業しているときによくあるのは、cdどこかに ed を実行して、そのディレクトリをざっと確認したい場合です。 を使用すると、ls大量の出力が生成され、ターミナルに残ります。 を使用する方ls | lessがよいのですが、終了すると、lessその出力がすべてそこに残ります。 のようにする方法をご存知ですか。ls | lessただし、 を終了するとless、ターミナル画面はそのまま残ります。

答え1

私の場合、lessあなたが説明したとおりに動作します - 私は使用する必要がありless -Xます無効にするこの動作。

代替スクリーンバッファ多くの端末で実装されている「」

vimこれは/のようなエディターによって使用されnano、終了時にターミナルが以前の状態に復元されます。

これを試して:

tput smcup
ls | less
tput rmcup

が利用できない場合はtput、それぞれecho $'\e[?1049h'/ を使用してみてくださいecho $'\e[?1049l'

答え2

zsh を使用しているとのことなので、zsh に組み込まれているタブ補完を利用できます。「長い」ls リストは表示されませんが、「ls」に続けてタブを入力すると、ディレクトリとファイルの名前をプレビューできます。現在の作業ディレクトリで「ls」できる可能性のあるファイル/ディレクトリが表示され、特定の 1 つを ls するか、「-l ファイル名」を追加して特定の 1 つを詳細に表示するか、または「Control-u」を押して現在の行をクリアし、別のコマンドを入力する準備をすると、タブ補完の候補が消えます。

たとえば、VM の 1 つで「ls [TAB]」を実行すると、次のように表示されます。

user@fbsd:~% ls
.cshrc                   .mailrc                  .ssh/
.login                   .profile                 .zshrc
.login_conf              .rhosts                  code/
.mail_aliases            .shrc                    inventory.hw.gather.sh*

Control-u を押すと、コマンド ラインの下の候補が消えます。

関連情報