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