端末でファイルを印刷して終了するVim


12

構文ハイライトをvimで設定した(または追加のツールを必要としない)ようにするために、vimでこれを実行したいと思います。したがって、代わりに使用するためcat file | <some_sh_tool>に使用しますvim +"some_opts" +"..." +q file。問題は、vimが終了時に前の画面を復元することですが、一部のリモートアクセスツールを使用すると、これは実行されなかったため、基本的に構文強調表示で猫として機能していました。

それで、これは可能ですか?

編集

これについてもっと考えると、これは素晴らしいことだと思います。構文の強調表示とは別に、行番号、空白、折り返しなど、ファイルのコンテンツを表示するときにvimの他の機能を使用できます。


2
GNU画面を使用します。
ヨルダン2012

1
まったく同じではありません。スクリプト内では使用できません。また、選択できない場合もあります。
majkinetor

回答:


9

この端末でそれを有効にするコードが次のような空の文字列であることを伝えることで、代替画面を無効にできます。

vim --cmd 'set t_ti= t_te=' ...

しかし、もっと必要なことがわかるでしょう。試してください:

vim --cmd 'set t_ti= t_te=' +redraw +q file

スタートとして。


最後のコマンドのエイリアスを作成する方法を説明するのにお金がかかるかもしれません。
cjh

@cjh:それはユーザーのシェルに依存します。
Bananguin

1
alias catx='vim --cmd "set t_ti= t_te=" +redraw +q'その後、単に実行しますcatx infile
Rahul Patil

+"colo colorscheme"前に追加することもできます+redraw
peterph

2
良くない。最初のページを表示して終了します。すべての線を表示するために必要です。再描画の前に+ $を追加すると、最初と最後のページのみが表示されます。
majkinetor

2

あなたは見てみたいかもしれませんenscript-それはいくつかの言語の構文強調表示スタイルがあり、フィルターとして使用することを意図しており、出力はANSIエスケープフォーマットシーケンスだけに限定されません-PostScript、HTMLまたはRTF。


1
私はすでに希望どおりにvimをセットアップしています-色、言語など...まれな言語のsh機能の一部はカスタムです-Csound、AutoHotKeyなど...別のツールの構成ファイルを再度作成することはありません。
majkinetor

@majkinetor確かに、それはあなたがそれを何に使用したいかによります。
peterph

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.