-Sを減らしてより小さな増分で水平スクロール


25

lessHTTPアクセスログの解析に使用しています。すべてを1行できれいに表示したいので、を使用してい-Sます。

私が抱えている問題は、ターミナルウィンドウの最初の3分の1が、気にしないメタデータで占められていることです。矢印キーを使用して右にスクロールすると、気になる情報の先頭を過ぎてスクロールすることがわかりました!

各行の先頭を削除することはできますが、将来そのデータが必要になるかどうかはわかりません。ログを表示するたびに個別のファイルを維持したり、スクリプトを実行したりする必要はありません。

この行:

access.log00002:10.0.0.0-USER_X [07 / Nov / 2013:16:50:50 +0000] "GET / some / long / URL"

スクロールします: ng/URL"

質問

文字ごとまたは単語ごとに、少しずつスクロールできる方法はありますか?

回答:


19

水平スクロールコマンドは、1画面の半分だけスクロールしますが、数値引数を渡して文字数を指定できます。たとえば4 Right、右に4文字入力するとスクロールします。Lessには「現在の行」という概念が実際にはなく、行を単語に分割しないため、一度に単語ごとにスクロールする方法はありません。

固定数の文字でスクロールするコマンドを定義できます。たとえば、Shift+ LeftShift+ Rightを一度に4文字ずつスクロールする場合:

  1. これらのキーの組み合わせに対して端末が送信する制御シーケンスを決定します。端末は、(書き込み可能なエスケープで始まる一連のバイト送信\e\033^[ファンクションキーとkeychordsのためのさまざまなコンテキストで)文字が。シェルプロンプトでCtrl+ V Shift+ Leftを押します。これ^[により、シェルで処理されるのではなく、エスケープ文字がそのまま(画面に表示されます)挿入され、残りのエスケープシーケンスが挿入されます。一般的なセットアップには、それぞれShift+ LeftおよびShift+ Rightsendが\eO2Dあり\eO2Cます。

  2. というファイルを作成し~/.lesskey、次の行を追加します(端末が異なるエスケープシーケンスを送信するかどうかを調整します)。

    #command
    \eO2D noaction 4\e(
    \eO2c noaction 4\e)
    

    次に実行するlesskey人間が読めるを変換する、~/.lesskeyバイナリファイルには、起動時に読み込みます。~/.lessless


19

オプション "-#"を使用して、水平スクロールの列数を設定できます。

manページから:

-#または--shift
RIGHTARROWおよびLEFTARROWコマンドで水平方向にスクロールするデフォルトの位置数を指定します。指定された数値がゼロの場合、デフォルトの位置数を画面幅の半分に設定します。

例(水平スクロールを10列に設定):

less -S-#10 my_file


このオプションを構成ファイルに追加する可能性があるので、コマンドを入力するたびに-#1オプションを渡す必要はありませんか?
トリメジストス

1
@Trismegistosはい、~/.bashrcwithで環境変数を設定できますexport LESS="-# 1"
wisbucky

数字が小数点で始まる場合は、画面幅の割合を設定することもできます。たとえば-# .25、画面幅の1/4でスクロールします。
ウィスバッキー


2

別の方法は、mostポケットベルを使用することです。

most、no-wrap(-S)がデフォルトでありRight、半画面ではなく1列右にスクロールします。>またはTabを使用してスクロールを高速化します。

別の方法としては、w3mあなたが使用できるページャ(最高の端末のWebブラウザのも1) <>だけでなく、そして,.より細かい粒のために(QWERTYキーボード上のキーと同じキー)をスクロールします。


本当じゃない。デフォルトではラッピングがさらに行われ、-Sオプションはありません。
トリメジストス

1
@Trismegistos、私はmore(何十もの実装がある)についてではなく、most(John E. Davisによって、私は他の実装を知りません)について話している。
ステファンシャゼラス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.