vimでstdinを開くときの強制fileformat = unix

vimでstdinを開くときの強制fileformat = unix

存在するhttps://stackoverflow.com/a/10280014/447503fileformat=unix通常のファイルを再度開き、その中にsを表示する方法について説明します。^Mまた、通常のファイルを使用してコマンドラインでも機能します。

$ vim -c "e ++ff=unix" aaa.txt
a^M
b^M
c^M

しかし、stdinからの読み込みに失敗します。

$ cat aaa.txt | vim -R -c "e ++ff=unix" -
Vim: Reading from stdin...
Error detected while processing command line:
E32: No file name
Press ENTER or type command to continue
a
b
c

これは、このコマンドがvimに現在開いているファイルを再読み込みするように指示するためです。最初から目的のファイル形式で入力を開くようにどのように指示しますか?

ベストアンサー1

これは...で汚染されたコンテンツを開くよりも少し強力ですが、ff=unix次にバイナリモードを有効にすることができます。-bコマンドラインフラグ:

$ cat aaa.txt | vim -R -b -

また、見ることができます:help 'binary''binary'この機能を実装するためのオプションについて説明します。 (-bコマンドライン引数は、引数として渡されたファイルを読み取る前にこの設定を効果的に有効にします。)

から:help 'binary'

また、オプションを使用'fileformat'しないと、ファイルは "unix"(区切り付きの単一行)'fileformats'のように読み書きします。'fileformat'<NL>

ご覧のとおり、これは設定とは少し異なりますが、ff=unix効果は非常に似ています。また、編集中に有効にしたり、などのオプションなどの'binary'他の副作用がある可能性がありますが、この場合はこれを許可することができます(または理想的かもしれません)。詳細全体をもう一度確認してください。'textwidth''expandtab':help 'binary':help edit-binary役に立つかもしれません。

おすすめ記事