最後の行またはeofへのeolの追加をスキップするようにvimをセットアップしようとしています。これを試しました
:set binary
:set noeol
:w
これは完全ではないため、後で使用するためにバイナリオーバーライドファイルタイプが発生します。
これを設定する他のオプションは、最後の行に改行は必要ありません。
最後の行またはeofへのeolの追加をスキップするようにvimをセットアップしようとしています。これを試しました
:set binary
:set noeol
:w
これは完全ではないため、後で使用するためにバイナリオーバーライドファイルタイプが発生します。
これを設定する他のオプションは、最後の行に改行は必要ありません。
役に立つと思う答えを追加したかったのです。選択した回答は、最初からEOLがあったとしても、常にファイルのEOLを削除します。これはあなたが望む振る舞いかもしれませんが、そうでないかもしれません。私の意見では、最初にファイルを開いたときのEOLを保持したいと思います。
私が提案するのは、わずかな変更です。ファイルset binary
の先頭に配置し.vimrc
ます。このようにして、すべてのファイルがバイナリモードで開きます。EOLがない場合、vimはこれを検出し、NOEOLのままにします。彼らがEOLを持っている場合、それはEOLを持っていると認識し、そのままにしておきます。
新しいファイルにもEOLを含めたくない場合は、次のように設定する必要があります。
au BufNewFile * set noeol
チャップのコマンドは、常にNOEOLが必要な場合です。注意すべきことの1つは、下部にスペースがあるファイルがある場合、最後にスペースが失われることです。これは、次のことが起こるためです。
このプロセスは、EOLがなくなり、ファイルが1文字で終了するまで繰り返されます。私のセットアップでは、ファイルが開かれ、VIMが少なくとも1つのEOLを検出すると、それを内部に保持します。そのファイルを保存すると、そこに何があっても(入力して確認できますset eol?
。内部に保存されているEOLを削除したい場合は、「BOOMset noeol
」と言って保存すると、最後のEOLが削除されます。
WHOOO、私はこれをタイプするのにうんざりしています。
これは私がどこかで見つけたさらに良いです:
au BufWritePre * :set binary | set noeol
au BufWritePost * :set nobinary | set eol
vimのドキュメントから:
'binary' 'bin' boolean (default off)
local to buffer
{not in Vi}
This option should be set **before** editing a binary file. You can also
したがって、またはを使用するか、を使用してリロードする必要がvim -b
あり:e ++bin file
ます:e! ++bin
。
私はこれを思いついた:
" php remove eol from end of file
autocmd FileType php setlocal noeol binary fileformats="mac,unix,dos"
皆さん、ありがとうございました。
乾杯。