ファイル末尾の EOL を削除する

Vim で編集したファイルの末尾には、必ず改行 (EOL) が入る。この EOL を削除するには、バイナリモードにして noendofline を設定する。

:set binary
:set noendofline

以前、Flash の loadVariables から読むテキストを Vim で書いたが故に冷や汗をかき、今日も 1 行ずつテキストを読み込むスクリプトでエラーが出て、しばらく悩んだ。うっかり忘れると、はまったときに恐ろしい。

しかし、set binary してしまうと、fileformat が unix になり、fileencoding が無効になるため、Vim 以外の機能が弱いテキストエディタで開くと、改行がおかしかったり文字化けを起こすおそれがある。悩ましい問題だ。