列定規を使用してテキストファイルを表示するシェルプログラム

列定規を使用してテキストファイルを表示するシェルプログラム

less私は組み込みコマンドを使用してテキストファイルを対話的に表示し、画面上部に固定定規を表示して、各文字時間の正確な列オフセットを表示できるようにするシェルユーティリティまたはプログラムを探しています。

この機能は、有名なlist.comや4Dosなどの一部のDOSユーティリティに組み込まれています。以下は、list私が探しているものを示すコマンドのスクリーンショットです。

ここに画像の説明を入力してください。

検索しましたが、UNIXベースのシェルにソリューションが見つかりませんでした。これを行う方法を知っている人はいますか?

答え1

既存のエンクロージャではこれを行うことはできません。時々、誰かがビジュアルシェルについて言及していますが、(a)クイックチェックではその機能に言及した人はいません(b)これらの機能はあまり使用されていないことがわかります。

テキストエディタにその機能があるかもしれません(ただし、望むものではありません)。

screenまたは、同じ端末アプリケーションtmuxがこの機能を追加するのに適した場所です。これ)。

それは価値があるので、アプリケーションでこれを行います。いいえテキストエディタ、ded(ディレクトリエディタ)ファイルを見るのに役立つことがわかりました。

dedのスクリーンショット

(定規はインタラクティブに上下に移動できます)。

答え2

ViMでテキストファイルを表示して、次のものを使用できます。

:set colorcolumn=72

これはあなたに定規を提供しませんが、視覚的な表示を提供します。

ViMは次のとおりです。より少ないコストで直接交換するように構成されています

答え3

メモ:次の方法は、などのアプリケーションの水平スクロールを考慮しませんless。特定のファイルではなく、端末自体の列定規です。

GNUにはscreenこの目的のために明示的に組み込まれたコマンドはありませんが、これを確実に実行できます。次の内容でファイルを作成します.screenrc

hardstatus alwaysfirstline "----|----10---|----20---|----30---|----40---|----50---|----60---|----70---|----80---|----90---|----100--|----110--|----120--|----130--|----140--|----150--|----160--|----170--|----180--|----190--|----200"

もちろん、必要と思われる列の数だけ文字列を拡張できます。表示されると端末の幅に合わせて切り取られるので、複数行に折り返すことを心配する必要はありません。

次に、次を実行します。

$ screen

スクリーンショットに示されているものとよく似た列定規が表示されます。デフォルトでは、Ctrl+はAコマンド文字ですscreen。このキーシーケンスを頻繁に使用する場合は、1行でescapeデフォルト値を変更する必要があるかもしれません.screenrc。参考screen(1)資料を参照してください。

関連情報