ファイル末尾の改行を削除するデフォルトの設定だとVimはファイルの末尾に改行を付与する。この改行を削除しようとしたがなかなかうまくいかなかったのでメモ。noeolとすればよい。eolオプションはファイル末尾に改行が付いているかどうかを表すオプション。ファイル読み込み時にeolかnoeolかが自動的にセットされる。noeolをセットして保存するだけでファイル末尾の改行が削除されればわかりやすいが、デフォルトの設定ではそうはならない。eolオプションの状態を保存時に反映するにはfixeolオプションをオフにする必要がある。fixeolオプションはバージョン7.4.785で追加されたもののようだ。https://github.com/vim-jp/issues/issues/152#issuecomment-122271904vim-jpの上のissue(とても長い)を見ていて存在を知った。binaryオプションを使うのはうまくいかないケースがある検索するとbinaryオプションをnoeolと同時に設定する方法がよくみつかるのではじめはこの方法を使っていた。この方法だとファイルの改行コードがLFに変わってしまうファイルのBomが削除されてしまうという問題があった。binaryではなくnofixeolを使う方がいい。行数カウント(2)テキストファイル群の行数カウントについて復習。dir1とdir2配下の拡張子が.cppと.hのファイルの行数を数えるものとする。以前にメモしている通り、findでファイルパス一覧を得てそれをcatでくっつけてwcへ渡せばできる。-lファイル毎の行数も知りたい場合ファイルごとの行数を得るにはwcへファイルパス一覧を渡す必要がある。一覧はxargsで渡せるが、ファイル数が多いとwc呼び出しが複数回に分かれてしまい合計を得られなくなる。いうオプションがあり、これを使えばファイルパス一覧を標準入力から取得できてxargsが不要になってうまくいくようになる。指定する必要があって、そうするとファイルパターンの指定を括弧で囲う必要がでてきて少し不格好になる。オプションを使い正規表現で書く手がある。指定した方がよさそう。3.0.2-p107。