赤ペン先生
ktkr 。 http://d.hatena.ne.jp/eclipse-a/20080612/1213240781 で tabshift.vim ( http://d.hatena.ne.jp/janus_wel/20080517#1213213335 ) を id:eclipse-a に添削指導してもらった。んだけど日付がおかしいのは諸事情があってこれを書いてる日が 6/15 だからです。ということで。
とりあえず返事。
84 tabshift.vim (8-1) tabshift.vimを好き勝手改造してみた - くふんを狙え
1 番は変数のスコープについてよくわからなかったのでとりあえず関数内に限定されると書いてあった a をつけた形。で、他の関数内宣言の変数については :help variable の最初だけ読んだら基本変数はグローバルって感じで書いてあったのと :help internal-variables の prefix の表であー何かを最初につければいいのねって理解でいっちゃった感じ。 let / unlet と set / unset が似てるのと bat ファイルの変数がグローバルなのもこの誤解に拍車をかけたかも。って今ちゃんとみたら a は function arguments って書いてあった。そら関数内限定だわ。
2 番はぶっちゃけ正規表現があることを知らなかった。いや気づいてもよさそうなもんだけど文字列を評価した際に数字があれば真になるとか書いてあったのでじゃあそれでいいやと思って済ましちゃった形。
3 番に関しては tabmove に関しては最初 tabmove position ( position は移動先を格納した変数 ) でいくだろと思ったんだけど「余分な文字が後ろにあります」とか怒られて正直どうしようもなくて検索しまくってたら execute なんてものがあることを知ってそれで動いたので力尽きた形。変数展開してくれないのに心底しょんぼりした。
4 番はいまだにわからない。ただ
とりあえず指摘してもらった感じに直して ( ていうか丸パクリ ) 上げなおしたよ !! vimrc に直書きするのもなんかアレな気がしたので plugin のままで。
http://www012.upp.so-net.ne.jp/legio/distribute/tabshift.vim
さいごにありがとう、 id:eclipse-a 。