最後の行またはeofへのeolの追加をスキップするようにvimをセットアップしようとしていますが、これを試しました
:set binary
:set noeol
:w
これは完全ではないため、後で使用するためにバイナリオーバーライドファイルタイプが発生します。
これを設定する他のオプションは、最後の行に改行は必要ありません。
これは私がどこかで見つけたさらに良いです:
au BufWritePre * :set binary | set noeol
au BufWritePost * :set nobinary | set eol
役に立つと思う答えを追加したかったのです。選択された回答常にファイルのEOLが最初からあったとしても、削除します。これはあなたが望む振る舞いかもしれませんが、そうでないかもしれません。私の意見では、最初にファイルを開いたときのEOLを保存したいと思います。
私が提案するのは、わずかな変更です。 set binary
ファイルの先頭に.vimrc
を置きます。このようにして、すべてのファイルがバイナリモードで開きます。 EOLがない場合、vimはこれを検出し、NOEOLのままにします。彼らがEOLを持っている場合、それはEOLを持っていると認識し、そのままにします。
newファイルにもEOLを含めないようにする場合は、次のように設定する必要があります。
au BufNewFile * set noeol
チャップのコマンドは、常にNOEOL everが必要な場合です。注意すべきことの1つは、下部にスペースがあるファイルがある場合、最後にスペースが失われることです。これは、次のことが起こるためです。
このプロセスは、EOLがなくなり、ファイルが1文字で終わるまで繰り返されます。私のセットアップでは、ファイルが開かれ、VIMleast1つのEOLが表示された場合、ファイルは保持されます。そのファイルを保存すると、そこに何があっても(set eol?
と入力して確認できます。内部に保存されているEOLを削除したい場合は、set noeol
と言ってから保存して[〜#〜]ブーム[〜#〜]、最後の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"
皆さん、ありがとうございました。
乾杯。