ファイルに書き込む代わりに、外部プログラムを呼び出してバッファをフィルタリングするように、vim で「w」をオーバーライドしようとしています。それを行う方法については、インターネット全体に非常に良い例があります。私はvim.wikia.comから1つ試しましたが、vimは常にE488: Trailing characters
. これは私のvimrcのコマンドです:
cabbrev w <c-r>=(getcmdtype()==':' && getcmdpos()==1 ? 'W' : 'w')<CR>
私はvimスクリプトにあまり慣れていません。<CR>
運が悪かったので、行末から削除しようとしました。
アップデート
できるだけカスタマイズして vim を実行したいので、-u
フラグを付けて実行します。そのフラグを使用する場合と使用しない場合では、vim の動作が異なることに気付きました。
フラグを使用-u
すると、展開された略語がコードとして評価される必要があります。
フラグがない場合、省略形は意図したとおりです (ここでは、vim のプロンプトから cabbrev ルールを入力します)。