修正する:

修正する:

(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(ここで掃除すると分かって処理されるので、面倒に掃除しないでください。)

おすすめ記事