1=============================================================================== 2= V I M 教 本 (チュートリアル) へ よ う こ そ - Version 1.7 = 3=============================================================================== 4 5 Vim は、このチュートリアルで説明するには多すぎる程のコマンドを備えた非常 6 に強力なエディターです。このチュートリアルは、あなたが Vim を万能エディ 7 ターとして使いこなせるようになるのに十分なコマンドについて説明をするよう 8 なっています。 9 10 チュートリアルを完了するのに必要な時間は、覚えたコマンドを試すのにどれだ 11 け時間を使うのかにもよりますが、およそ25から30分です。 12 13 ATTENTION: 14 以下の練習用コマンドにはこの文章を変更するものもあります。練習を始める前 15 にコピーを作成しましょう("vimtutor"したならば、既にコピーされています)。 16 17 このチュートリアルが、使うことで覚えられる仕組みになっていることを、心し 18 ておかなければなりません。正しく学習するにはコマンドを実際に試さなければ 19 ならないのです。文章を読んだだけならば、きっと忘れてしまいます!。 20 21 さぁ、Capsロック(Shift-Lock)キーが押されていないことを確認した後、画面に 22 レッスン1.1 が全部表示されるところまで、j キーを押してカーソルを移動しま 23 しょう。 24~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 レッスン 1.1: カーソルの移動 26 27 28 ** カーソルを移動するには、示される様に h,j,k,l を押します ** 29 ^ 30 k ヒント: h キーは左方向に移動します。 31 < h l > l キーは右方向に移動します。 32 j j キーは下矢印キーのようなキーです。 33 v 34 1. 移動に慣れるまで、スクリーンでカーソル移動させましょう。 35 36 2. 下へのキー(j)を押しつづけると、連続して移動できます。 37 これで次のレッスンに移動する方法がわかりましたね。 38 39 3. 下へのキーを使って、レッスン1.2 に移動しましょう。 40 41NOTE: 何をタイプしているか判らなくなったら、<ESC>を押してノーマルモードにし 42 ます。それから入力しようとしていたコマンドを再入力しましょう。 43 44NOTE: カーソルキーでも移動できます。しかし hjkl に一度慣れてしまえば、はるか 45 に速く移動することができるでしょう。いやマジで! 46 47~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48 レッスン 1.2: VIM の起動と終了 49 50 51 !! NOTE: 以下のあらゆるステップを行う前に、このレッスンを読みましょう!! 52 53 1. <ESC>キーを押しましょう。(確実にノーマルモードにするため) 54 55 2. 次のようにタイプ: :q! <ENTER> 56 これにより編集した内容を保存せずにエディタが終了します。 57 58 3. このチュートリアルを始める為のコマンドを実行すると、ここに戻れます。 59 そのコマンドは: vimtutor <ENTER> 60 61 4. これまでのステップを覚え自信がついたならば、ステップ 1 から 3 までを実 62 際に試して、Vim を1度終了してから再び起動しましょう。 63 64NOTE: :q! <ENTER> は全ての変更を破棄します。レッスンにて変更をファイルに保 65 存する方法についても勉強していきましょう。 66 67 5. 1.3までカーソルを移動させましょう。 68 69~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 70 レッスン 1.3: テキスト編集 - 削除 71 72 73 ** ノーマルモードにてカーソルの下の文字を削除するには x を押します ** 74 75 1. 以下の ---> と示された行にカーソルを移動しましょう。 76 77 2. 間違いを修正するために、削除する最初の文字までカーソルを移動します。 78 79 3. 不必要な文字を x を押して削除しましょう。 80 81 4. 文が正しくなるまで ステップ 2 から 4 を繰り返しましょう。 82 83---> その ううさぎ は つつきき を こええてて とびはねたた 84 85 5. 行が正しくなったら、レッスン 1.4 へ進みましょう。 86 87NOTE: 全てのレッスンを通じて、覚えようとするのではなく実際にやってみましょう。 88 89 90 91 92~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 93 レッスン 1.4: テキスト編集 - 挿入 94 95 96 ** ノーマルモードにてテキストを挿入するには i を押します ** 97 98 1. 以下の ---> と示された最初の行にカーソルを移動しましょう。 99 100 2. 1行目を2行目と同じ様にするために、テキストを挿入しなければならない位置 101 の次の文字にカーソルを移動します。 102 103 3. i キーを押してから、追加が必要な文字をタイプしましょう。 104 105 4. 間違いを修正したら <ESC> を押してコマンドモードに戻り、正しい文になる様 106 にステップ 2 から 4 を繰り返しましょう。 107 108---> この には 足りない テキスト ある。 109---> この 行 には 幾つか 足りない テキスト が ある。 110 111 5. 挿入の方法がわかったらレッスン 1.5 へ進みましょう。 112 113 114 115~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 116 レッスン 1.5: テキスト編集 - 追加 117 118 119 ** テキストを追加するには A を押しましょう ** 120 121 1. 以下の ---> と示された最初の行にカーソルを移動しましょう。 122 カーソルがその文字上にあってもかまいません。 123 124 2. 追加が必要な場所で A をタイプしましょう。 125 126 3. テキストを追加し終えたら、 <ESC> を押してノーマルモードに戻りましょう。 127 128 4. 2行目の ---> と示された場所へ移動し、ステップ 2 から 3 を繰り返して文法 129 を修正しましょう。 130 131---> ここには間違ったテキストがあり 132 ここには間違ったテキストがあります。 133---> ここにも間違ったテキス 134 ここにも間違ったテキストがあります。 135 136 5. テキストの追加が軽快になってきたらレッスン 1.6 へ進みましょう。 137 138~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 レッスン 1.6: ファイルの編集 140 141 142 ** ファイルを保存して終了するには :wq とタイプします ** 143 144 !! NOTE: 以下のステップを実行する前に、まず全体を読んでください!! 145 146 1. レッスン 1.2 でやったように :q! をタイプして、このチュートリアルを終了 147 します。あるいは、別の端末がある場合はそこで以下の内容を行ってもかまい 148 ません。 149 150 2. シェルプロンプトでこのコマンドをタイプします: vim tutor <ENTER> 151 'vim'が Vim エディタを起動するコマンド、'tutor' は編集したいファイルの 152 名前です。変更してもよいファイルを使いましょう。 153 154 3. 前のレッスンで学んだように、テキストを挿入、削除します。 155 156 4. 変更をファイルに保存します: :wq <ENTER> 157 158 5. ステップ 1 で vimtutuor を終了した場合は vimtutor を再度起動し、以下の 159 要約へ進みましょう。 160 161 6. 以上のステップを読んで理解した上でこれを実行しましょう。 162 163~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 164 レッスン 1 要約 165 166 167 1. カーソルは矢印キーもしくは hjkl キーで移動します。 168 h (左) j (下) k (上) l (右) 169 170 2. Vim を起動するにはプロンプトから vim ファイル名 <ENTER> とタイプします。 171 172 3. Vim を終了するには <ESC> :q! <ENTER> とタイプします(変更を破棄)。 173 もしくは <ESC> :wq <ENTER> とタイプします(変更を保存)。 174 175 4. カーソルの下の文字を削除するには、ノーマルモードで x とタイプします。 176 177 5. カーソルの位置に文字を挿入するには、ノーマルモードで i とタイプします。 178 i テキストのタイプ <ESC> カーソル位置に追加 179 A テキストの追加 <ESC> 行末に追加 180 181NOTE: <ESC> キーを押すとノーマルモードに移行します。その際、間違ったり入力途 182 中のコマンドを取り消すことができます。 183 184さて、続けてレッスン 2 を始めましょう。 185 186~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 レッスン 2.1: 削除コマンド 188 189 190 ** 単語の末尾までを削除するには dw とタイプしましょう ** 191 192 1. ノーマルモードであることを確認するために <ESC> を押しましょう。 193 194 2. 以下の ---> と示された行にカーソルを移動しましょう。 195 196 3. 消したい単語の先頭にカーソルを移動しましょう。 197 198 4. 単語を削除するために dw とタイプしましょう。 199 200 NOTE: タイプすると、dw という文字がスクリーンの最下行に現われます。 201 タイプを間違ってしまった時には <ESC> を押してやり直しましょう。 202 203---> この 文 紙 には いくつかの たのしい 必要のない 単語 が 含まれて います。 204 205 5. 3 から 4 までを文が正しくなるまで繰り返し、レッスン 2.2 へ進みましょう。 206 207 208 209~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 210 レッスン 2.2: その他の削除コマンド 211 212 213 ** 行の末尾までを削除するには d$ とタイプしましょう ** 214 215 1. ノーマルモードであることを確認するのに <ESC> を押しましょう。 216 217 2. 以下の ---> と示された行にカーソルを移動しましょう。 218 219 3. 正しい文の末尾へカーソルを移動しましょう(最初の 。 の後です)。 220 221 4. 行末まで削除するのに d$ とタイプしましょう。 222 223---> 誰かがこの行の最後を2度タイプしました。 2度タイプしました。 224 225 226 5. どういうことか理解するために、レッスン 2.3 へ進みましょう。 227 228 229 230 231 232~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 レッスン 2.3: オペレータとモーション 234 235 236 多くのコマンドはオペレータとモーションからテキストに変更を加えます。 237 削除コマンド d のオペレータは次の様になっています: 238 239 d モーション 240 241 それぞれ: 242 d - 削除コマンド。 243 モーション - 何に対して働きかけるか(以下に挙げます)。 244 245 オペレータの一部一覧: 246 w - カーソル位置から空白を含む単語の末尾まで。 247 e - カーソル位置から空白を含まない単語の末尾まで。 248 $ - カーソル位置から行末まで。 249 250 つまり de とタイプすると、カーソル位置から単語の終わりまでを削除します。 251 252NOTE: 冒険したい人は、ノーマルモードにてコマンドなしにモーションを押して 253 みましょう。カーソルが目的語一覧で示される位置に移動するはずです。 254 255~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 256 レッスン 2.4: モーションにカウントを使用する 257 258 259 ** 何回も行いたい繰り返しのモーションの前に数値をタイプします。 ** 260 261 1. 以下の ---> と示された行の先頭にカーソルを移動します。 262 263 2. 2w をタイプして単語2つ分前に移動します。 264 265 3. 3e をタイプして3つ目の単語の終端に移動します。 266 267 4. 0 (ゼロ)をタイプして行頭に移動します。 268 269 5. ステップ 2 と 3 を違う数値を使って繰り返します。 270 271---> This is just a line with words you can move around in. 272 273 6. レッスン 2.5 に進みましょう。 274 275 276 277 278~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 レッスン 2.5: より多くを削除するためにカウントを使用する 280 281 282 ** オペレータとカウントをタイプすると、その操作が複数回繰り返されます。 ** 283 284 既述の削除のオペレータとモーションの組み合わせにカウントを追加することで、 285 より多くの削除が行えます: 286 d 数値 モーション 287 288 1. ---> と示された行の行頭部分にカーソルを移動しましょう。 289 290 2. UPPER CASE の単語2つを d2w とタイプして削除します。 291 292 3. UPPER CASE という連続した単語を、1つのコマンドと異なるカウントを指定し、 293 ステップ 1 と 2 を繰り返します。 294 295---> このABC DE行のFGHI JK LMN OP単語はQ RS TUV綺麗になった。 296 297NOTE: オペレータ d とモーションの間にカウントを使った場合、オペレータのない 298 場合のモーションのように動作します。 299 例: 3dw と d3w は同等で、3w を削除します。 300 301~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 302 レッスン 2.6: 行の操作 303 304 305 ** 行全体を削除するには dd とタイプします ** 306 307 行全体を削除する頻度が多いので、Viのデザイナーは行の削除を d の2回タイプと 308 いう簡単なものに決めました。 309 310 1. 以下の句の2行目にカーソルを移動します。 311 2. dd とタイプして行を削除します。 312 3. さらに4行目に移動します。 313 4. 2dd とタイプして2行を削除します。 314 315---> 1) バラは赤い、 316---> 2) つまらないものは楽しい、 317---> 3) スミレは青い、 318---> 4) 私は車をもっている、 319---> 5) 時計が時刻を告げる、 320---> 6) 砂糖は甘い 321---> 7) オマエモナー 322 323 324~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 325 レッスン 2.7: やり直しコマンド 326 327 328 ** 最後のコマンドを取り消すには u を押します。U は行全体の取消です。 ** 329 330 1. 以下の ---> と示された行にカーソルを移動し、最初の間違いにカーソル 331 を移動しましょう。 332 2. x をタイプしていらない先頭の文字を削除しましょう。 333 3. さぁ、u をタイプして最後に実行したコマンドを取り消しましょう。 334 4. 今度は、x を使用して誤りを全て修正しましょう。 335 5. 大文字の U をタイプして、行を元の状態に戻しましょう。 336 6. u をタイプして直前の U コマンドを取消しましょう。 337 7. ではコマンドを再実行するのに CTRL-R (CTRL を押したまま R を打つ)を数回 338 タイプしてみましょう(取消の取消)。 339 340---> このの行のの間違いを修正々し、後でそれらの修正をを取消しまますす。 341 342 8. これはとても便利なコマンドです。さぁレッスン 2 要約へ進みましょう。 343 344 345 346 347~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 レッスン 2 要約 349 350 351 1. カーソル位置から単語の末尾までを削除するには dw とタイプします。 352 2. カーソル位置から行の末尾までを削除するには d$ とタイプします。 353 3. 行全体を削除するには dd とタイプします。 354 355 4. モーションを繰り返すには数値を付与します: 2w 356 5. 変更に用いるコマンドの形式は 357 オペレータ [数値] モーション 358 359 それぞれ: 360 オペレータ - 削除 d の類で何をするか。 361 数値 - そのコマンドを何回繰り返すか。 362 モーション - w (単語)や $ (行末)などの類で、テキストの何に対して働きか 363 けるか。 364 365 6. 行の先頭に移動するにはゼロを使用します: 0 366 367 7. 前回の動作を取消す: u (小文字 u) 368 行全体の変更を取消す: U (大文字 U) 369 取消しの取消し: CTRL-R 370~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 371 レッスン 3.1: 貼り付けコマンド 372 373 374 ** 最後に削除された行をカーソルの後に貼り付けるには p をタイプします ** 375 376 1. 以下の段落の最初の行にカーソルを移動しましょう。 377 378 2. dd とタイプして行を削除し、Vim のバッファに格納しましょう。 379 380 3. 削除した行が本来あるべき位置の上の行まで、カーソルを移動させましょう。 381 382 4. ノーマルモードで p をタイプして格納した行を画面に戻します。 383 384 5. 順番が正しくなる様にステップ 2 から 4 を繰り返しましょう。 385 386 d) 貴方も学ぶことができる? 387 b) スミレは青い、 388 c) 知恵とは学ぶもの、 389 a) バラは赤い、 390 391 392 393~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 394 レッスン 3.2: 置き換えコマンド 395 396 397 ** カーソルの下の文字を置き換えるには r をタイプします ** 398 399 1. 以下の ---> と示された最初の行にカーソルを移動しましょう。 400 401 2. 最初の間違いの先頭にカーソルを移動しましょう。 402 403 3. r とタイプし、間違っている文字を置き換える、正しい文字をタイプしましょう。 404 405 4. 最初の行が正しくなるまでステップ 2 から 3 を繰り返しましょう。 406 407---> この合を人力した時ね、その人は幾つか問違ったキーを押しもした! 408---> この行を入力した時に、その人は幾つか間違ったキーを押しました! 409 410 5. さぁ、レッスン 3.3 へ進みましょう。 411 412NOTE: 実際に試しましょう。決して覚えるだけにはしないこと。 413 414 415 416~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 417 レッスン 3.3: 変更コマンド 418 419 420 ** 単語の一部、もしくは全体を変更するには cw とタイプします ** 421 422 1. 以下の ---> と示された最初の行にカーソルを移動しましょう。 423 424 2. lubw の u の位置にカーソルを移動しましょう。 425 426 3. cw とタイプし、正しい単語をタイプしましょう(この場合 'ine' とタイプ)。 427 428 4. 次の間違い(変更すべき文字の先頭)に移動するために <ESC> をタイプします。 429 430 5. 最初の行が次の行の様になるまでステップ 3 と 4 を繰り返します。 431 432---> This lubw has a few wptfd that mrrf changing usf the change operator. 433---> This line has a few words that need changing using the change operator. 434 435cw は単語を変更するだけでなく、挿入も行えることに注意しましょう。 436 437 438 439~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 440 レッスン 3.4: c を使用したその他の変更 441 442 443 ** 変更コマンドは、削除コマンドと同じ様にオブジェクトを使用します ** 444 445 1. 変更コマンドは、削除コマンドと同じような動作をします。その形式は 446 447 c [数値] モーション 448 449 2. オブジェクトも同じで、w は単語、 $ は行末などといったものです。 450 451 3. 以下の ---> と示された行にカーソルを移動しましょう。 452 453 4. 最初の間違いへカーソルを移動しましょう。 454 455 5. c$ とタイプして行の残りを2行目の様にし、<ESC> を押しましょう。 456 457---> The end of this line needs some help to make it like the second. 458---> The end of this line needs to be corrected using the c$ command. 459 460NOTE: タイプ中の間違いはバックスペースキーを使って直すこともできます。 461 462~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 463 レッスン 3 要約 464 465 466 1. 既に削除されたテキストを再配置するには、p をタイプします。これは削除さ 467 れたテキストをカーソルの後に挿入します(行単位で削除されたのならば、カー 468 ソルのある次の行に挿入されます)。 469 470 2. カーソルの下の文字を置き換えるには、r をタイプした後、それを置き換える 471 文字をタイプします。 472 473 3. 変更コマンドではカーソル位置から特定のモーションで指定される終端までを変 474 更することが可能です。例えば cw ならばカーソル位置から単語の終わりまで、 475 c$ ならば行の終わりまでを変更します。 476 477 4. 変更コマンドの形式は 478 479 c [数値] モーション 480 481さぁ、次のレッスンへ進みましょう。 482 483 484 485~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 486 レッスン 4.1: 位置とファイルの情報 487 488 ** ファイル内での位置とファイルの状態を表示するには CTRL-G をタイプします。 489 ファイル内のある行に移動するには G をタイプします ** 490 491 NOTE: ステップを実行する前に、このレッスン全てに目を通しましょう!! 492 493 1. CTRL を押したまま g を押しましょう。この操作を CTRL-G と呼んでいます。 494 ページの一番下にファイル名と行番号が表示されるはずです。 ステップ 3のため 495 に行番号を覚えておきましょう。 496 497NOTE: 画面の右下隅にカーソルの位置が表示されているかもしれません。これは 498 'ruler' オプション(:help 'ruler' を参照)を設定することで表示されます。 499 500 2. 最下行に移動するために G をタイプしましょう。 501 ファイルの先頭に移動するには gg とタイプしましょう。 502 503 3. 先ほどの行の番号をタイプし G をタイプしましょう。最初に CTRL-G を押した行 504 に戻って来るはずです。 505 506 4. 自信が持てたらステップ 1 から 3 を実行しましょう。 507 508~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 509 レッスン 4.2: 検索コマンド 510 511 512 ** 語句を検索するには / と、前方検索する語句をタイプします。** 513 514 1. ノーマルモードで / という文字をタイプします。画面一番下に : コマンドと 515 同じ様に / が現れることに気づくでしょう。 516 517 2. では、'errroor' <ENTER> とタイプしましょう。これが検索したい単語です。 518 519 3. 同じ語をもう一度検索するときは 単に n をタイプします。 520 逆方向に語句を検索するときは N をタイプします。 521 522 4. 逆方向に語句を検索する場合は、/ の代わりに ? コマンドを使用します。 523 524 5. 元の場所に戻るには CTRL-O (Ctrl を押し続けながら o 文字タイプ)をタイプし 525 ます。さらに戻るにはこれを繰り返します。CTRL-I は前方向です。 526 527---> "errroor" は error とスペルが違います; errroor はいわゆる error です。 528NOTE: 検索がファイルの終わりに達すると、オプション 'wrapscan' が設定されている 529 場合は、ファイルの先頭から検索を続行します。 530 531~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 532 レッスン 4.3: 対応する括弧を検索 533 534 535 ** 対応する ),] や } を検索するには % をタイプします ** 536 537 1. 下の ---> で示された行で (,[ か { のどれかにカーソルを移動しましょう。 538 539 2. そこで % とタイプしましょう。 540 541 3. カーソルは対応する括弧に移動するはずです。 542 543 4. 最初の括弧に移動するには % とタイプしましょう。 544 545 5. 他の (,),[,],{ や } でカーソルを移動し、% が何をしているか確認しましょう。 546 547---> This ( is a test line with ('s, ['s ] and {'s } in it. )) 548 549 550NOTE: この機能は括弧が一致していないプログラムをデバッグするのにとても役立ち 551 ます。 552 553 554~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 555 レッスン 4.4: 間違いを変更する方法 556 557 558 ** 'old' を 'new' に置換するには :s/old/new/g とタイプします ** 559 560 1. 以下の ---> と示された行にカーソルを移動しましょう。 561 562 2. :s/thee/the <ENTER> とタイプしましょう。このコマンドはその行で最初に見 563 つかったものにだけ行なわれることに気をつけましょう。 564 565 3. では :s/thee/the/g とタイプしましょう。行全体を置換することを意味します。 566 この変更はその行で見つかった全ての箇所に対して行なわれます。 567 568---> thee best time to see thee flowers is in thee spring. 569 570 4. 複数行から見つかる文字を変更するには 571 :#,#s/old/new/g #,# には置き換える範囲の開始と終了の行番号を指定しま 572 す。 573 :%s/old/new/g ファイル全体で見つかるものに対して変更する。 574 :%s/old/new/gc ファイル全体で見つかるものに対して、1つ1つ確認をとりな 575 がら変更する。 576 577~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 578 レッスン 4 要約 579 580 581 1. CTRL-G はファイルでの位置とファイルの詳細を表示します。 582 G はファイルの最下行に移動します。 583 数値 G はその行に移動します。 584 gg は先頭行に移動します。 585 586 2. / の後に語句をタイプすると前方に語句を検索します。 587 ? の後に語句をタイプすると後方に語句を検索します。 588 検索の後の n は同じ方向の次の検索を、N は逆方向の検索をします。 589 CTRL-O は場所を前に移し、CTRL-I は場所を次に移動します。 590 591 3. (,),[,],{, もしくは } 上にカーソルがある状態で % をタイプすると対になる文 592 字へ移動します。 593 594 4. 現在行の最初の old を new に置換する。 :s/old/new 595 現在行の全ての old を new に置換する。 :s/old/new/g 596 2つの # 間で語句を置換する。 :#,#s/old/new/g 597 ファイルの中の全ての検索語句を置換する。 :%s/old/new/g 598 'c' を加えると置換の度に確認を求める。 :%s/old/new/gc 599 600~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 601 レッスン 5.1: 外部コマンドを実行する方法 602 603 604 ** :! の後に実行する外部コマンドをタイプします ** 605 606 1. 画面の最下部にカーソルが移動するよう、慣れ親しんだ : をタイプしましょう。 607 これでコマンドがタイプできる様になります。 608 609 2. ここで ! という文字(感嘆符)をタイプしましょう。 610 これで外部シェルコマンドが実行できる様になります。 611 612 3. 例として ! に続けて ls とタイプし <ENTER> を押しましょう。 613 シェルプロンプトのようにディレクトリの一覧が表示されるはずです。 614 もしくは ls が動かないならば :!dir を使用しましょう。 615 616NOTE: この方法によってあらゆるコマンドが実行することができます。もちろん引数 617 も与えられます。 618 619NOTE: 全ての : コマンドは <ENTER> を押して終了しなければなりません。 620 以降ではこのことに言及しません。 621 622 623~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 624 レッスン 5.2: その他のファイルへ書き込み 625 626 627 ** ファイルへ変更を保存するには :w ファイル名 とタイプします ** 628 629 1. ディレクトリの一覧を得るために :!dir もしくは :!ls とタイプしましょう。 630 このあと <ENTER> を押すのは既にご存知ですね。 631 632 2. TEST のように、そのディレクトリに無いファイル名を一つ選びます。 633 634 3. では :w TEST とタイプしましょう (TEST は、選んだファイル名です)。 635 636 4. これによりファイル全体が TEST という名前で保存されます。 637 もう一度 :!dir もしくは :!ls とタイプして確認してみましょう。 638 639NOTE: ここで Vim を終了し、ファイル名 TEST と共に起動すると、保存した時の 640 チュートリアルの複製ができ上がるはずです。 641 642 5. さらに、次のようにタイプしてファイルを消しましょう(MS-DOS): :!del TEST 643 もしくは(Unix): :!rm TEST 644 645 646~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 647 レッスン 5.3: 選択した書き込み 648 649 650** ファイルの位置を保存するには、v モーションと :w FILENAME をタイプします。 ** 651 652 1. この行にカーソルを移動します。 653 654 2. v を押し、以下の第5項目にカーソルを移動します。テキストが強調表示されるの 655 に注目して下さい。 656 657 3. 文字 : を押すと、画面の最下部に :'<,'> が現れます。 658 659 4. w TEST (TEST は存在しないファイル名)をタイプします。 660 <ENTER> を押す前に :'<,'>w TEST となっていることを確認して下さい。 661 662 5. Vim は TEST というファイルに選択された行を書き込むでしょう。 663 !dir もしくは !ls でそれを確認します。 664 それは削除しないでおいて下さい。次のレッスンで使用します。 665 666NOTE: v を押すと、Visual 選択が始まります。カーソルを動かすことで、選択範囲を 667 大きくも小さくもできます。さらに、その選択範囲に対してオペレータを適用 668 きます。例えば d はテキストを削除します。 669 670~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 671 レッスン 5.4: ファイルの取込と合併 672 673 674 ** ファイルの中身を挿入するには :r ファイル名 とタイプします ** 675 676 1. カーソルを以下の行に合わせます。 677 678NOTE: ステップ 2 の実行後、レッスン 5.3 のテキストが現れます。下に下がってこ 679 のレッスンに移動しましょう。 680 681 2. では TEST というファイルを :r TEST というコマンドで読み込みましょう。 682 ここでいう TEST は使うファイルの名前のことです。 683 読み込まれたファイルは、カーソル行の下にあります。 684 685 3. 取込んだファイルを確認してみましょう。カーソルを戻すと、レッスン5.3 の 686 オリジナルとファイルによるものの2つがあることがわかります。 687 688NOTE: 外部コマンドの出力を読み込むことも出来ます。例えば、 689 :r !ls は ls コマンドの出力をカーソル以下に読み込みます。 690 691 692 693~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 694 レッスン 5 要約 695 696 697 1. :!command によって 外部コマンドを実行します。 698 699 よく使う例: 700 (MS-DOS) (Unix) 701 :!dir :!ls - ディレクトリ内の一覧を見る。 702 :!del FILENAME :!rm FILENAME - ファイルを削除する。 703 704 2. :w ファイル名 によってファイル名というファイルがディスクに書き込まれる。 705 706 3. v モーションで :w FILENAME とすると、ビジュアル選択行がファイルに保存さ 707 れる。 708 709 4. :r ファイル名 によりファイル名というファイルがディスクより取込まれ、 710 カーソル位置の下に挿入される。 711 712 5. :r !dir は dir コマンドの出力をカーソル位置以下に読み込む。 713 714 715 716~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 717 レッスン 6.1: オープンコマンド 718 719 720 ** o をタイプすると、カーソルの下の行が開き、挿入モードに入ります ** 721 722 1. 以下の ---> と示された行にカーソルを移動しましょう。 723 724 2. o (小文字) をタイプして、カーソルの下の行を開き、挿入モードに入ります。 725 726 3. さらに挿入モードを終了する為に <ESC> をタイプします。 727 728---> o をタイプするとカーソルは開いた行へ移動し挿入モードに入ります。 729 730 4. カーソルの上の行に挿入するには、小文字の o ではなく、単純に大文字の O 731 をタイプします。次の行で試してみましょう。 732 733---> この行の上へ挿入するには、この行へカーソルを置いて O をタイプします。 734 735 736 737 738 739~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 740 レッスン 6.2: 追加コマンド 741 742 743 ** カーソルの次の位置からテキストを追加するには a とタイプします ** 744 745 1. カーソルを ---> で示された行へ移動しましょう。 746 747 2. e を押して li の終端部までカーソルを移動します。 748 749 3. カーソルの後ろにテキストを追加するために a (小文字) をタイプします。 750 751 4. その下の行のような単語に完成させます。挿入モードを抜ける為に <ESC> を押 752 します。 753 754 5. e を使って次の不完全な単語へ移動し、ステップ 3 と 4 を繰り返します。 755 756---> This li will allow you to pract appendi text to a line. 757---> This line will allow you to practice appending text to a line. 758 759NOTE: a, i と A は同じ挿入モードへ移りますが、文字が挿入される位置だけが異なり 760 ます。 761 762~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 763 レッスン 6.3: その他の置換方法 764 765 766 ** 1文字以上を置き換えるには大文字の R とタイプしましょう ** 767 768 1. 以下の ---> と示された行にカーソルを移動します。最初の xxx の先頭に移動し 769 ます。 770 771 2. R を押して、2行目の数値をタイプすることで、xxx が置換されます。 772 773 3. 置換モードを抜けるには <ESC> を押します。行の残りが変更されていないままに 774 なることに注意してください。 775 776 4. 残った xxx をステップを繰り返して置換しましょう。 777 778---> Adding 123 to xxx gives you xxx. 779---> Adding 123 to 456 gives you 579. 780 781NOTE: 置換モードは挿入モードに似ていますが、全てのタイプされた文字は既存の文字 782 を削除します。 783 784 785~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 786 レッスン 6.4: テキストのコピーとペースト 787 788 789 ** テキストのコピーにはオペレータ y を、ペーストには p を使います ** 790 791 1. ---> と示された行へ移動し、カーソルを "a)" の後に置いておきます。 792 793 2. v でビジュアルモードを開始し、"first"の手前までカーソルを移動します。 794 795 3. y をタイプして強調表示されたテキストを yank (コピー)します。 796 797 4. 次の行の行末までカーソルを移動します: j$ 798 799 5. p を押して貼り付け(put)てから、次をタイプします: a second <ESC> 800 801 6. ビジュアルモードで " item." を選択し、y でヤンク、次の行の行末まで j$ で 802 移動し、 p でテキストをそこに put します。 803 804---> a) this is the first item. 805 b) 806 807 NOTE: 単語を1つ yank するのに y をオペレータとして yw とすることも出来ます。 808~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 809 レッスン 6.5: オプションの設定 810 811 812 ** 検索や置換の際に大文字/小文字を無視するには、オプションを設定します ** 813 814 1. 次の様に入力して 'ignore' を検索しましょう: /ignore <ENTER> 815 n を押して何度か検索を繰り返します。 816 817 2. 次の様に入力して 'ic' (Ignore Case の略) オプションを設定します: :set ic 818 819 3. では n によってもう1度 'ignore' を検索します。 820 n を押してさらに数回検索を繰り返しましょう。 821 822 4. 'hlsearch' と 'incsearch' オプションを設定しましょう: :set hls is 823 824 5. 検索コマンドを再入力して、何が起こるか見てみましょう: /ignore <ENTER> 825 826 6. 大文字小文字の区別を無効にするには次の様に入力します: :set noic 827 828NOTE: マッチの強調表示をやめるには次の様に入力します: :nohlsearch 829NOTE: 1つの検索コマンドだけ大文字小文字の区別をやめたいならば、フレーズに \c 830 を使用します: /ignore\c <ENTER> 831~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 832 レッスン 6 要約 833 834 1. o をタイプするとカーソルの下の行を開けて、そこで挿入モードになる。 835 O (大文字) をタイプするとカーソルの上の行で挿入モードになる。 836 837 2. カーソル上の文字の次からテキストを追加するには a とタイプする。 838 行末に自動でテキストを挿入するには大文字 A をタイプする。 839 840 3. e コマンドは単語の終端部カーソルを移動する。 841 842 4. y オペレータはテキストを yank (コピー)し、p はそれを put (ペースト)する。 843 844 5. 大文字の R をタイプすると置換モードに入り、<ESC>を押すと抜ける。 845 846 6. ":set xxx" とタイプするとオプション "xxx" が設定される。 847 'ic' 'ignorecase' 検索時に大文字小文字の区別しない 848 'is' 'incsearch' 検索フレーズに部分マッチしている部分を表示する 849 'hls' 'hlsearch' マッチするすべを強調表示する 850 長い方、短い方、どちらのオプション名でも使用できます。 851 852 7. "no" を付与し、オプションを無効にします: :set noic 853 854~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 855 レッスン 7.1: オンラインヘルプコマンド 856 857 858 ** オンラインヘルプを使用しましょう ** 859 860 Vim には広範にわたるオンラインヘルプシステムがあります。 861 ヘルプを開始するには、これら3つのどれか1つを試してみましょう: 862 - ヘルプキー <HELP> を押す(もしあるならば)。 863 - <F1> キーを押す(もしあるならば)。 864 - :help <ENTER> とタイプする。 865 866 ヘルプウィンドウのテキストを読むと、ヘルプの動作が理解できます。 867 CTRL-W CTRL-W とタイプすると ヘルプウィンドウへジャンプします。 868 :q <ENTER> とタイプすると ヘルプウィンドウが閉じられます。 869 870 ":help" コマンドに引数を与えることにより、あらゆる題名のヘルプを見つけること 871 ができます。これらを試してみましょう(<ENTER> をタイプし忘れないように): 872 873 :help w 874 :help c_CTRL-D 875 :help insert-index 876 :help user-manual 877~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 878 レッスン 7.2: 起動スクリプトの作成 879 880 ** Vim の特徴を発揮する ** 881 882 Vim には Vi よりも多くの特徴を踏まえていますが、そのほとんどは初期状態にて 883 使用不可となっています。より多くの特徴を使いはじめるには "vimrc" ファイル 884 を作成します。 885 886 1. "vimrc" ファイルの編集を開始する。これはシステムに依存します。 887 :edit ~/.vimrc UNIX 向け 888 :edit $VIM/_vimrc MS-Windows 向け 889 890 2. ここでサンプルの "vimrc" を読み込みます。 891 :read $VIMRUNTIME/vimrc_example.vim 892 893 3. 以下のようにファイルへ書き込みます。 894 :write 895 896 次回 Vim を起動すると、色づけ構文が使えるようになるでしょう。 897 この "vimrc" ファイルへ、お好みの設定を追加することができます。 898 より多くの情報を得るには :help vimrc-intro とタイプします。 899 900~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 901 レッスン 7.3: 補完 902 903 904 ** CTRL-D と <TAB> でコマンドラインを補完する ** 905 906 1. 互換モードでないことを確認します: :set nocp 907 908 2. 現在のディレクトリに在るファイルを :!ls か :!dir で確認します。 909 910 3. コマンドの開始をタイプします: :e 911 912 4. CTRL-D を押すと Vim は "e" から始まるコマンドの一覧を表示します。 913 914 5. <TAB> を押すと Vim は ":edit" というコマンド名を補完します。 915 916 6. さらに空白と、既存のファイル名の始まりを加えます: :edit FIL 917 918 7. <TAB> を押すと Vim は名前を補完します。(もし一つしか無かった場合) 919 920NOTE: 補完は多くのコマンドで動作します。そして CTRL-D と <TAB> 押してみてくだ 921 さい。特に :help の際に役立ちます。 922 923~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 924 レッスン 7 要約 925 926 927 1. ヘルプウィンドウを開くには :help とするか <F1> もしくは <Help> を押す。 928 929 2. コマンド(cmd)のヘルプを検索するには :help cmd とタイプする。 930 931 3. 別のウィンドウへジャンプするには CTRL-W CTRL-W とタイプする。 932 933 4. ヘルプウィンドウを閉じるには :q とタイプする。 934 935 5. お好みの設定を保つには vimrc 起動スクリプトを作成する。 936 937 6. : command で可能な補完を見るには CTRL-D をタイプする。 938 補完を使用するには <TAB> を押す。 939 940 941 942 943 944 945 946~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 947 948 これにて Vim のチュートリアルを終わります。エディタを簡単に、しかも充分に 949 使うことができるようにと、Vim の持つ概念の要点のみを伝えようとしました。 950 Vim にはさらに多くのコマンドがあり、ここで全てを説明することはできません。 951 以降はユーザーマニュアルを参照ください: ":help user-manual" 952 953 これ以後の学習のために、次の本を推薦します。 954 Vim - Vi Improved - by Steve Oualline 955 出版社: New Riders 956 最初の本は完全に Vim のために書かれました。とりわけ初心者にはお奨めです。 957 多くの例題や図版が掲載されています。 958 次のURLを参照して下さい http://iccf-holland.org/click5.html 959 960 次は Vim よりも Vi について書かれた古い本ですが推薦します: 961 Learning the Vi Editor - by Linda Lamb 962 出版社: O'Reilly & Associates Inc. 963 Vi でやりたいと思うことほぼ全てを知ることができる良書です。 964 第6版では、Vim についての情報も含まれています。 965 966 このチュートリアルは Colorado State University の Charles Smith のアイデア 967 を基に、Colorado School of Mines の Michael C. Pierce と Robert K. Ware の 968 両名によって書かれました。 E-mail: [email protected]. 969 970 Modified for Vim by Bram Moolenaar. 971 972 日本語訳 松本 泰弘 <[email protected]> 973 監修 村岡 太郎 <[email protected]> 974 975~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 976 vi:set ts=8 sts=4 sw=4 tw=78: 977