sphinx専用エディタとかないかなーってつぶやいたらOmakeを薦められた。
世の中便利なものがあるんだねーほえーとか思いながらOmakeをビルドして
自動makeいざ尋常にって勝負したら動いてくれないわけ。
いろいろやってもだめで悩んだ挙句ファイル汚くしたんで一旦戻そうと思って
svn revert * ってやったら動いたわけですよ。意味がわからんし。
そこでいろいろ試してみることに。
まずemacs使ってやった
なんだと。。。動くだと。。。
emacsにできてvimに(ry
次にvim -u NONE hoge.rst してみる。
vimをデフォルトの状態で起動したわけです。
なんだと。。。動くだと。。。
で、犯人は/Users/yuito/.vimrc or /Users/yuito/.vim/* に決定
で、ここからが本題です。
vimのhelpから引用
'backupcopy' 'bkc' 文字列 (UnixでのViの既定値: "yes" 、それ以外: "auto")
グローバル
{Vi にはない}
ファイルの書き込みをしてバックアップが作られるとき、その方法をこのオプ
ションで指定する。このオプションはコンマで区切られた単語のリストである。主な値は次の通り:
"yes" 先にファイルのコピーを作ってバックアップにして、更新した内容は
元のファイルに上書きする
"no" 先に元のファイルをリネームしてバックアップにして、更新した内容
は新しいファイルに書き出す
"auto" どちらか適切な方を選ぶ次の値を上のどれか1つと組み合わせることができる:
"breaksymlink"は書き込み時に常にシンボリックリンクを切る。
"breakhardlink"は書き込み時に常にハードリンクを切る。
backupとwritebackupの関係
'backup' 'writebackup' 動作
off off バックアップは作られない
off on カレントファイルをバックアップし、後で消去する (既定)
on off 古いバックアップを消去し、カレントファイルをバックアッ
プする
on on 古いバックアップを消去し、カレントファイルをバックアッ
プする
簡単にいうとbackupを作成するときは元ファイルが更新されときと
元ファイルをバックアップにして新しいファイルに更新が書き出されるときがある。
しかし、こいつに関係しそうなオプションが沢山あってわけわかめなので
3つのオプションの組み合わせでどんな挙動をするのかの検証をしてみた。
基本的にはbackupはとらないので
set nobackup
は設定しておきます
- その1
set writebackup set backupcopy=auto
*** omake error: File OMakefile: line 18, characters 1-36 rule failed to build target: source/index.rst
対象ファイルがなくなったって言われる
- その2
set writebackup set backupcopy=yes
問題なし
- その3
set writebackup set backupcopy=no
問題なし
- その4
set nowritebackup set backupcopy=auto or yes or no
:quitのタイミングでbuildが走る
とりあえずbackupcopy=autoはやめましょうということで。