ファイルに保存する。(:sav[eas])
早くVimmerになりたい!
ようやく手元に話題の「実践Vim 思考のスピードで編集しよう!」が届きました!
これでVim力をレベルアップをしたいと思います。
この記事は Vim Advent Calendar 2012の278日目の記事です。
277日目は @manga_osyo さんの「Vim で非同期で Clang を使用したコード補完を行う」でした。
今回の記事は至って単純な「ファイルに保存する」についてです。
保存する。(:w[rite])
ググると大体「:w(rite)」しか出てきません。
helpを見るとこんな感じ。
*:w* *:write* *E502* *E503* *E504* *E505* *E512* *E514* *E667* *E796* :w[rite] [++opt] バッファ全体をカレントファイルに書き込む。これはファイ ルに対する変更点を保存するときの普通の方法である。 オプション 'readonly' がオンであるかファイルに書き込め ない理由が何かあるときには実行に失敗する。
しかし、Vimでは、もう一つあります。
せっかくあるのに、ググっても「:w」しか出てこないと寂しいので、今回紹介します。
保存する。(:sav[eas])
- help「:h sav」より
*:sav* *:saveas* :sav[eas][!] [++opt] {file} カレントファイルをファイル名 {file} として保存し、カレ ントバッファのファイル名を {file} に変える。それまでの カレントファイルの名前はオルタネートファイルの名前にな る。既存のファイルを上書きするには [!] が必要になる。 'filetype' が空の場合、保存の前に新しいファイル名に対 してファイルタイプ検出が行われる。 保存が成功すると 'readonly' がオフになる。 {Vi にはない}
どんな場面で使ってるか?
既存ファイルを残しつつ、新規ファイルに保存し、更に編集した場合。
うーん。ちょっと意味が分からないですね。
具体的には、今週の週報「syuhou_20130903.txt」を書かないといけないとします。
先週の週報「syuhou_20130827.txt」があります。
この先週の週報を元に書きなおしたい場合に使ってます。
$> vim syuhou_20130827.txt
※Vimmerの方々は、一度Vimを起動すると閉じないと聞いたので、
正確には、
:e syuhou_20130827.txt
ですね。
ここで、
:w syuhou_20130903.txt
だと、カレントバッファは「syuhou_20130827.txt」のままです。
しかし、
:sav syuhou_20130903.txt
だと、カレントバッファが「syuhou_20130903.txt」になるので、
更なる追記も楽ちんです。
とまぁーこんな感じで使ってます。
自分のディレクトリに Vim Girlとの夏の思い出 が無かった・・・
誰かください(T_T)
次回は @manga_osyo さんです。