1 名前:名無しさん@お腹いっぱい。 [01/12/17 12:15] みんなでスクリプトを覚えよう
7 名前:ヘッポコ訳者 ◆xBY/hgW2 [01/12/17 22:16] 41.1 イントロ まずは vimrc から始めよーかね.Vim は起動時にこいつを読み込んで実行すん のよ.んでもって,vimrc では変数は好きなように設定出来るし,好きなコ マンドも実行出来る. ちなみに syntax ファイルも vim script なんだな,コレが. > As are files that set options for a specific file type. (コレはどー訳すべか? 「特定のファイルタイプに応じた設定をするよーなファイルだぜ」 でいいのかな?) んでもって,複雑なマクロは vim script の別ファイルにも出来るのさ. > You can think of other uses yourself. (「あとは色々あるけど皆でテキトーにやってくれ」ぐらいの意味か?) よーし,そんじゃシンプルなのから始めるぜ! :let i = 1 :while i < 5 : echo "count is" i : let i = i + 1 :endwhile # おっと,ここで注意だ.実は行頭の ":"コマンド入力の時はいるんだけど, # Vim script のファイルの中ではいらねーからな.まーここでは目立って分か # りやすくするためにも行頭に":"は入れとくことにすっからヨロピク.
8 名前:ヘッポコ訳者 ◆xBY/hgW2 [01/12/17 22:16] ":let" ってのは変数に値を代入する命令ってヤツよ.ま,一般的には :let {variable} = {expression} ってな感じで使うと思ってくれ.んだから,上の例(の一行目)の場合は変数 名(variable)が "i" で,式(expression)はただの値である 1 ってわけさ. ":while" コマンドはループの開始な.フツーは :while {condition} : {statements} :endwhile こんな感じで使うぞ.":endwhile" までにある文(statements)は条件 (condition) が真の間はずっと実行されるからな.上の例だと条件は "i < 5" ってヤツな.これは i が 5 より小さい時は真になんのよ. んでもって ":echo" コマンドは引数を表示するコマンドね.上の例だと, "cout is" と,変数 i の値が表示されるってわけ. んだから最初は i の値は 1 だから, count is 1 って表示されるってなもんよ.んで,その後にはまた別の ":let i=" ってコマ ンドが出てきてるよな.んで右辺には "i + 1" っつー式が使われてる.これは 変数 i の値に 1 を足した値を i に代入するって事な. んだもんで,上の例の最終的な出力はこーなる. count is 1 count is 2 count is 3 count is 4 # 間違って無限ループにハマっちまったら CTRL-C で中止出来るからビビら # んよーに.(Win では CTRL+Break な)
9 名前:ヘッポコ訳者 ◆xBY/hgW2 mailto:sage [01/12/17 22:17] <<<三種類の数値>>> 数値は10進数か,8進数,もしくは16 進数が使えるぞ.16進数は頭に "0x" か "0X" を付けるべし.たとえば "0x1f" っつったら10進数の 31 な.んで, 8進数は頭に "0" を付けるべし.つまり "017" で10進数の 15 ってことな. # 十進数を使ってるつもりなら頭に "0" なんか付けるんじゃねーぞ. Vim # には8進数だと思われちまうからな. んで,":echo" コマンドの出力は10進数になるからな.だから例えば :echo 0x7f 036 ってやったら 127 30 って表示される. そんで,数値はマイナス記号で負の値になるぞ.8進数でも16進数でも一緒な. さらにマイナス記号は引き算にもなるぞ. :echo 0x7f -036 ってやったら 97 って表示される.上の例と比べて見とけや. ちなみに式に含まれてる空白は無視されるぞ.ま,各々を分割して読みやすく するために空白入れるのはいい事だけどな.例えば負の数と間違わんよーに マイナス記号と後に続く数字の間にスペース入れるとかそーゆー事な. :echo 0x7f - 036 って事.