[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/18 19:04 / Filesize : 368 KB / Number-of Response : 974
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Vim6スクリプトお勉強スレ



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

って事.






[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<368KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef