(Midnight Commander)では、mc
ファイルを表示するためのカスタムコマンドを定義できます。
shell/i/.jpg
Open=gpicview %f
View=file %f | less
コマンドはfile %f
ポケットベルにパイプする必要があります。私はこれをここで例として使用していますless
。
lessの問題は、画面の中央に行を表示し、次の文字を追加することです。
~
~
(END)
パイプリダイレクトから受信した内容のみを表示する最も簡単で愚かなポケットベルが必要です。コマンドのようなものは、cat
表示されるファイルに何も追加しません。
代わりに何を使用できますかless
?
それとも、less
これらの特殊文字を隠すように設定できますか?
修正する:
less
さて、--tilde
オプションとを使用していくつかの問題を解決しました--clear-screen
。ただし、まだページの下部にless
表示されます。(END)
私はそれから抜け出すことができるか(END)
。設定オプションがない場合は、ソースコードでどのように変更できますか?(lessパッケージを再コンパイルできますか?)
less
私はDebian 10を使用していますless --version
。示す:
less 487 (GNU regular expressions)
ベストアンサー1
mc
独自の内部ページャ/ビューアがあるため、別のポケットベル/ビューアを呼び出す必要はありません。以下が必要です。
type/^JPEG
View=%view file -- %p
file
(これはファイル名ではなくファイル形式(正規表現が適用された出力)に基づいています。)
上のコメントを見るデフォルトmc.ext
文書化のため。
JPEGファイルのデフォルトのビューアは、実際には次のように定義されています。
type/^JPEG
View=%view{ascii} /usr/lib/mc/ext.d/image.sh view jpeg
Include=image
[...]
include/image
Open=/usr/lib/mc/ext.d/image.sh open ALL_FORMATS
View=%view{ascii} /usr/lib/mc/ext.d/image.sh view ALL_FORMATS
つまり、less
次のようになります。
-~
または、--tilde
通常、ファイルの末尾の行は単一のチルダ(〜)として表示されます。このオプションを使用すると、ファイルの末尾の後の行が空行として表示されます。
プロンプト文字列を定義できます-Ps'prompt'
。(END)
最後の項目を含めて削除するには、単独で渡すことができますが、-Ps
それでも表示されます:
。-Ps$'\r'
(またはksh93引用符を-Ps"$(printf '\r')"
サポートしていないシェルの場合$'...'
):
。
だから:
type/^JPEG
View=file -- %p | less -~ -Ps"$(printf '\r')"
画面の内容を消去するには、file
出力に影響を与えずにコマンドを実行してから、一部のキーを押して終了するのを待つと、次のことができます。
type/^JPEG
View=zsh -c 'echoti clear; echoti civis; file -- "$1"; read -sk; echoti cnorm; echoti clear' zsh %p
echoti civis
(ここにはボーナスでカーソルも隠されています。)
メイン画面に留まり、入ったときに画面を消去する代わりに、代替画面(通常mc
使用)に戻してメイン画面を変更せずにそのままにすることもできます。less
-X
type/^JPEG
View=zsh -c 'echoti smcup; echoti home; echoti civis; file -- "$1"; read -sk; echoti cnorm; echoti rmcup' zsh %p
mc
(ここで掃除すると分かって処理されるので、面倒に掃除しないでください。)