docs(tutor): update Japanese tutor #35379

This commit is contained in:
ite-usagi
2025-08-19 02:46:56 +09:00
committed by GitHub
parent ddae46fba0
commit 1e20f31aa3
4 changed files with 366 additions and 153 deletions

View File

@@ -1,11 +1,14 @@
# Neovim のチュートリアルへようこそ # Neovim のチュートリアルへようこそ
# チャプター 1
Neovim は、このチュートリアルで説明するには多すぎる程のコマンドを備えた非常に強 Neovim は、このチュートリアルで説明するには多すぎる程のコマンドを備えた非常に強
力なエディターです。このチュートリアルは、あなたが Neovim を万能エディターとして 力なエディターです。このチュートリアルは、あなたが Neovim を万能エディターとして
使いこなせるようになるのに十分なコマンドについて説明をするようになっています。 使いこなせるようになるのに十分なコマンドについて説明をするようになっています。
このチュートリアルが、体を使うことで覚えられる仕組みになっていることを、心してお このチュートリアルが、**実践**を通じて学ぶ仕組みになっていることを、心しておかなけれ
かなければなりません。正しく学習するには実際にやってなければならないのです。 ばなりません。正しく学習するには実際に手を動かしてみなければならないのです。
テキストをただ読むだけでは、何が重要だったか忘れてしまうでしょう! テキストをただ読むだけでは、何が重要だったか忘れてしまうでしょう!
それでは、CapsLock キーが押されていないことを確認した後、画面にレッスン 0 が全部 それでは、CapsLock キーが押されていないことを確認した後、画面にレッスン 0 が全部
表示されるところまで、`j`{normal} キーを押してカーソルを移動しましょう。 表示されるところまで、`j`{normal} キーを押してカーソルを移動しましょう。
@@ -20,13 +23,13 @@ NOTE: 以下の練習用コマンドにはこの文章を変更するものも
とがいくつかあります。 とがいくつかあります。
- [このようなリンク](holy-grail )の上で [<Enter>](<Enter>) キーを押すことで、リンクされたヘルプを開くこと - [このようなリンク](holy-grail )の上で [<Enter>](<Enter>) キーを押すことで、リンクされたヘルプを開くこと
ができます。 ができます。
-もしくは、ドキュメントで検索したい単語の上で [K](K) キー(大文字)を押してみましょう。 - または、ドキュメントで検索したい単語の上で [K](K) キー(大文字)を押してみましょう。
(注: 日本語の単語には対応していません。) (注: 日本語の単語には対応していません。)
- ヘルプウィンドウは `:q`{vim} `<Enter>`{normal} で閉じることができます。 - ヘルプウィンドウは `:q`{vim} `<Enter>`{normal} で閉じることができます。
画面の左端に ✗ が表示されている場合、その行にあるテキストを編集しなければなりま 画面の左端に ✗ が表示されている場合、その行にあるテキストを編集しなければなりま
せん。正しいテキストに書き換えることで、左端の ✗ は ✓ に変わります。 せん。正しいテキストに書き換えることで、左端の ✗ は ✓ に変わります。
Neovim がいかに優れているか、おわかりいただけるでしょうか? Neovim がどんなにステキか、おわかりいただけるでしょうか?
また、次のようにコマンドを実行するよう求められることや、(後で詳しく説明します。) また、次のようにコマンドを実行するよう求められることや、(後で詳しく説明します。)
@@ -66,11 +69,11 @@ NOTE: カーソルキーでも移動できます。しかし hjkl に一度慣
# レッスン 1.2: NEOVIM の起動と終了 # レッスン 1.2: NEOVIM の起動と終了
!! NOTE: 以下のあらゆるステップを行う前に、このレッスンを全部読みましょう!! !! NOTE: 以下のあらゆるステップを行う前に、このレッスンをすべて読みましょう!!
1. `<Esc>`{normal} キーを押しましょう。(確実にノーマルモードにするため) 1. `<Esc>`{normal} キーを押しましょう。(確実にノーマルモードにするため)
2. 次のようにタイプ: 2. 次のようにタイプします:
`:q!`{vim} `<Enter>`{normal} `:q!`{vim} `<Enter>`{normal}
@@ -87,9 +90,9 @@ NOTE: カーソルキーでも移動できます。しかし hjkl に一度慣
NOTE: [:q!](:q) `<Enter>`{normal} は全ての変更を破棄します。 NOTE: [:q!](:q) `<Enter>`{normal} は全ての変更を破棄します。
後に変更をファイルに保存する方法についても勉強していきましょう。 後に変更をファイルに保存する方法についても勉強していきましょう。
5. 1.3までカーソルを移動させましょう。 5. レッスン 1.3 までカーソルを移動させましょう。
# レッスン 1.3: テキスト編集 - 削除 # レッスン 1.3: テキスト編集: 削除
** カーソルの下の文字を削除するには `x`{normal} を押します。 ** ** カーソルの下の文字を削除するには `x`{normal} を押します。 **
@@ -105,11 +108,11 @@ NOTE: [:q!](:q) `<Enter>`{normal} は全ての変更を破棄します。
5. 行が正しくなったら、レッスン 1.4 へ進みましょう。 5. 行が正しくなったら、レッスン 1.4 へ進みましょう。
NOTE: 全てのレッスンを通じて、頭で覚えようとしないでください。 NOTE: 全てのレッスンを通じて、頭だけで覚えようとしないでください。
実際に手を動かすことで、あなたの Neovim に対する理解度は広がっていきます。 実際に手を動かすことで、あなたの Neovim に対する理解度は広がっていきます。
復習のためにも、たまにこのチュートリアルをやり直してみてください。 復習のためにも、たまにこのチュートリアルをやり直してみてください。
# レッスン 1.4: テキスト編集 - 挿入 # レッスン 1.4: テキスト編集: 挿入
** テキストを挿入(Insert)するには `i`{normal} を押します。 ** ** テキストを挿入(Insert)するには `i`{normal} を押します。 **
@@ -128,7 +131,7 @@ NOTE: 全てのレッスンを通じて、頭で覚えようとしないでく
5. 挿入の方法がわかったらレッスン 1.5 へ進みましょう。 5. 挿入の方法がわかったらレッスン 1.5 へ進みましょう。
# レッスン 1.5: テキスト編集 - 追加 # レッスン 1.5: テキスト編集: 追加
** テキストを追加(Append)するには `A`{normal} を押しましょう。 ** ** テキストを追加(Append)するには `A`{normal} を押しましょう。 **
@@ -139,7 +142,7 @@ NOTE: 全てのレッスンを通じて、頭で覚えようとしないでく
3. テキストを追加し終えたら、 `<Esc>`{normal} を押してノーマルモードに戻りましょう。 3. テキストを追加し終えたら、 `<Esc>`{normal} を押してノーマルモードに戻りましょう。
4. 2行目の ✗ と示された場所へ移動し、ステップ 2 から 3 を繰り返して文を修正し 4. 2行目の ✗ と示された場所へ移動し、ステップ 2 から 3 を繰り返して文を修正し
ましょう。 ましょう。
この 行 には 間違った テキスト が あり この 行 には 間違った テキスト が あり
@@ -153,8 +156,7 @@ NOTE: 全てのレッスンを通じて、頭で覚えようとしないでく
** ファイルを保存して終了するには `:wq`{vim} とタイプします。 ** ** ファイルを保存して終了するには `:wq`{vim} とタイプします。 **
!! NOTE: 以下のあらゆるステップを行う前に、このレッスンをすべて読みましょう!!
!! NOTE: 以下のあらゆるステップを行う前に、このレッスンを全部読みましょう!!
1. レッスン 1.2 でやったように `:q!`{vim} を入力して、このチュートリアルを終了します。 1. レッスン 1.2 でやったように `:q!`{vim} を入力して、このチュートリアルを終了します。
もしくは、別のターミナルにアクセスできる場合、そこで以下の内容を行います。 もしくは、別のターミナルにアクセスできる場合、そこで以下の内容を行います。
@@ -164,9 +166,9 @@ NOTE: 全てのレッスンを通じて、頭で覚えようとしないでく
$ nvim tutor $ nvim tutor
~~~ ~~~
'nvim' が Nvim エディタを起動するコマンド、'tutor' は編集したいファイルの名 'nvim' が Nvim エディタを起動するコマンド、'tutor' は編集したいファイルの名
前です。変更できるファイルの名前を使いましょう。 前です。編集可能なファイルを使いましょう。
3. 前のレッスンで学んだように、テキストを挿入、削除します。 3. 前のレッスンで学んだように、テキストを挿入したり、削除します。
4. 次のコマンドで変更をファイルに保存し、Neovim を終了します: 4. 次のコマンドで変更をファイルに保存し、Neovim を終了します:
~~~ cmd ~~~ cmd
@@ -188,7 +190,7 @@ NOTE: 全てのレッスンを通じて、頭で覚えようとしないでく
~~~ sh ~~~ sh
$ nvim FILENAME $ nvim FILENAME
~~~ ~~~
3. Vim を終了するには: `<Esc>`{normal} `:q!`{vim} `<Enter>`{normal} とタイプします(変更を破棄)。 3. Neovim を終了するには: `<Esc>`{normal} `:q!`{vim} `<Enter>`{normal} とタイプします(変更を破棄)。
もしくは: `<Esc>`{normal} `:wq`{vim} `<Enter>`{normal} とタイプします(変更を保存)。 もしくは: `<Esc>`{normal} `:wq`{vim} `<Enter>`{normal} とタイプします(変更を保存)。
4. カーソルの下の文字を削除するには、ノーマルモードで `x`{normal} とタイプします。 4. カーソルの下の文字を削除するには、ノーマルモードで `x`{normal} とタイプします。
@@ -214,9 +216,9 @@ NOTE: `<Esc>`{normal} キーを押すとノーマルモードに移行します
4. 単語を削除するために [d](d)[w](w) とタイプしましょう。 4. 単語を削除するために [d](d)[w](w) とタイプしましょう。
この 文 紙 には いくつか たのしい 必要のない 単語 が 含まれて います。 この 文 紙 には いくつか たのしい 必要のない 単語 が 含まれて います。
5. 3 から 4 までを文が正しくなるまで繰り返し、レッスン 2.2 へ進みましょう。 5. ステップ 3 と 4 を文が正しくなるまで繰り返し、レッスン 2.2 へ進みましょう。
# レッスン 2.2: その他の削除コマンド # レッスン 2.2: その他の削除コマンド
@@ -252,8 +254,8 @@ NOTE: `<Esc>`{normal} キーを押すとノーマルモードに移行します
つまり `de`{normal} とタイプすると、カーソル位置から単語の終わりまでを削除します。 つまり `de`{normal} とタイプすると、カーソル位置から単語の終わりまでを削除します。
NOTE: 冒険したい人は、ノーマルモードにてオペレータなしにモーションを押してみまし NOTE: ノーマルモードにてオペレータなしにモーションを押すことで、先述した位置にカ
ょう。カーソルが目的語一覧で示される位置に移動するはずです。 ーソルが移動します。
# レッスン 2.4: モーションにカウントを使用する # レッスン 2.4: モーションにカウントを使用する
@@ -273,7 +275,7 @@ This is just a line with words you can move around in.
6. レッスン 2.5 に進みましょう。 6. レッスン 2.5 に進みましょう。
# レッスン 2.5: より多く削除するためにカウントを使用する # レッスン 2.5: より多く削除するためにカウントを使用する
** オペレータとカウントをタイプすると、その操作が複数回繰り返されます。 ** ** オペレータとカウントをタイプすると、その操作が複数回繰り返されます。 **
@@ -285,8 +287,8 @@ This is just a line with words you can move around in.
2. 大文字の単語2つを `d2w`{normal} とタイプして削除します。 2. 大文字の単語2つを `d2w`{normal} とタイプして削除します。
3. 連続した大文字の単語を、異なるカウントを指定した1つのコマンドで削除し、ステ 3. 異なるカウントを使ってステップ 1 と 2 を繰り返し、残りの連続した大文字の単語
ップ 1 と 2 を繰り返します。 を削除します。
このABC DE行のFGHI JK LMN OP単語はQ RS TUV綺麗になった。 このABC DE行のFGHI JK LMN OP単語はQ RS TUV綺麗になった。
@@ -294,8 +296,8 @@ This is just a line with words you can move around in.
** 行全体を削除するには `dd`{normal} とタイプします。 ** ** 行全体を削除するには `dd`{normal} とタイプします。 **
行全体を削除する頻度が多いので、Viのデザイナーは行の削除を d の2回タイプという 行全体を削除する頻度が多いので、Vi のデザイナーは行の削除を d の2回タイプという
単なものに決めました。 単なものに決めました。
1. 以下の詩の2行目にカーソルを移動します。 1. 以下の詩の2行目にカーソルを移動します。
@@ -313,7 +315,7 @@ This is just a line with words you can move around in.
6) 砂糖は甘く 6) 砂糖は甘く
7) そして貴方も 7) そして貴方も
# Lesson 2.7: THE UNDO COMMAND # Lesson 2.7: やり直しコマンド
** 最後のコマンドを取り消す(Undo)には `u`{normal} を押します。`U`{normal} は行全体の取り消しです。** ** 最後のコマンドを取り消す(Undo)には `u`{normal} を押します。`U`{normal} は行全体の取り消しです。**
@@ -321,7 +323,7 @@ This is just a line with words you can move around in.
2. `x`{normal} をタイプして最初のいらない文字を削除しましょう。 2. `x`{normal} をタイプして最初のいらない文字を削除しましょう。
3. では、`u`{normal} をタイプして最後に実行したコマンドを取り消してしまいしょう。 3. では、`u`{normal} をタイプして最後に実行したコマンドを取り消ししょう。
4. 今度は、`x`{normal} を使用して行内の誤りを全て修正しましょう。 4. 今度は、`x`{normal} を使用して行内の誤りを全て修正しましょう。
@@ -352,7 +354,7 @@ This is just a line with words you can move around in.
それぞれ: それぞれ:
オペレータ - オペレータ - 削除 d の類で何をするか オペレータ - オペレータ - 削除 [d](d) の類で何をするか
[数値] - そのコマンドを何回繰り返すか [数値] - そのコマンドを何回繰り返すか
モーション - テキストの何に対して働きかけるか、例えば: モーション - テキストの何に対して働きかけるか、例えば:
[w](w) (単語), [w](w) (単語),
@@ -391,7 +393,7 @@ NOTE: `P`{normal} (大文字 P)とタイプすることで、カーソルの前
1. 以下の ✗ と示された最初の行にカーソルを移動しましょう。 1. 以下の ✗ と示された最初の行にカーソルを移動しましょう。
2. 最初の間違いの先頭にカーソルを移動しましょう。 2. 最初の間違いにカーソルを移動しましょう。
3. `r`{normal} とタイプし、間違っている文字を置き換える、正しい文字をタイプしましょう。 3. `r`{normal} とタイプし、間違っている文字を置き換える、正しい文字をタイプしましょう。
@@ -421,7 +423,7 @@ NOTE: 実際に試しましょう。決して覚えるだけにはしないこ
This lubw has a few wptfd that mrrf changing usf the change operator. This lubw has a few wptfd that mrrf changing usf the change operator.
This line has a few words that need changing using the change operator. This line has a few words that need changing using the change operator.
ce は単語を削除した後、挿入モードに入ることに注意しましょう。 [c](c)e は単語を削除した後、挿入モードに入ることに注意しましょう。
# レッスン 3.4: `c`{normal} を使用したその他の変更 # レッスン 3.4: `c`{normal} を使用したその他の変更
@@ -468,7 +470,7 @@ NOTE: タイプ中の間違いはバックスペースキーを使って直す
** ファイル内での位置とファイルの状態を表示するには `<C-g>`{normal} をタイプします。 ** ファイル内での位置とファイルの状態を表示するには `<C-g>`{normal} をタイプします。
ファイル内の{count}行に移動するには `{count}G`{normal} をタイプします。 ** ファイル内の{count}行に移動するには `{count}G`{normal} をタイプします。 **
NOTE: ステップを実行する前に、このレッスンてに目を通しましょう!! NOTE: ステップを実行する前に、このレッスンすべてに目を通しましょう!!
1. `<Ctrl>`{normal} を押したまま `g`{normal} を押しましょう。この操作を `<C-g>`{normal} と呼んでいます。 1. `<Ctrl>`{normal} を押したまま `g`{normal} を押しましょう。この操作を `<C-g>`{normal} と呼んでいます。
ページの一番下にファイル名と行番号が表示されるはずです。 ステップ 3 のために ページの一番下にファイル名と行番号が表示されるはずです。 ステップ 3 のために
@@ -487,7 +489,7 @@ NOTE: 画面の右下隅にカーソルの座標が既に表示されている
# レッスン 4.2: 検索コマンド # レッスン 4.2: 検索コマンド
** 語句を検索するには `/`{normal} と、前方検索する語句をタイプします。 ** ** 語句を検索するには `/`{normal} と、検索する語句をタイプします。 **
1. ノーマルモードで `/`{normal} という文字をタイプします。画面一番下に `:`{normal} コマンドと同じ様 1. ノーマルモードで `/`{normal} という文字をタイプします。画面一番下に `:`{normal} コマンドと同じ様
にカーソルが現れることに気づくでしょう。 にカーソルが現れることに気づくでしょう。
@@ -495,7 +497,7 @@ NOTE: 画面の右下隅にカーソルの座標が既に表示されている
2. では、'errroor' `<Enter>`{normal} とタイプしましょう。これが検索したい単語です。 2. では、'errroor' `<Enter>`{normal} とタイプしましょう。これが検索したい単語です。
3. 同じ語句をもう一度検索するときは 単に [n](n) をタイプします。 3. 同じ語句をもう一度検索するときは 単に [n](n) をタイプします。
逆方向に語句を検索するときは [N](N) をタイプします。 逆方向に同じ語句を検索するときは [N](N) をタイプします。
4. 逆方向に語句を検索する場合は、`/`{normal} の代わりに [?](?) コマンドを使用します。 4. 逆方向に語句を検索する場合は、`/`{normal} の代わりに [?](?) コマンドを使用します。
@@ -517,11 +519,11 @@ NOTE: 検索がファイルの終わりに達すると、オプション ['wraps
3. カーソルは対応する括弧に移動するはずです。 3. カーソルは対応する括弧に移動するはずです。
4. 最初の括弧に移動するには `%`{normal} とタイプしましょう 4. もう一度 `%`{normal} とタイプすると元の括弧に移動します
5. 他の (,),[,],{ や } でカーソルを移動し、`%`{normal} が何をしているか確認しましょう。 5. 他の (, ), [, ], {, } でカーソルを移動し、`%`{normal} が何をしているか確認しましょう。
This ( is a test line with ('s, ['s ] and {'s } in it. )) This ( is a test line with ('s, ['s, ] and {'s } in it. ))
NOTE: この機能は括弧が一致していないプログラムのデバッグにとても役立ちます! NOTE: この機能は括弧が一致していないプログラムのデバッグにとても役立ちます!
@@ -547,21 +549,22 @@ NOTE: この機能は括弧が一致していないプログラムのデバッ
Usually thee best time to see thee flowers is in thee spring. Usually thee best time to see thee flowers is in thee spring.
4. 複数行から見つかる文字の全ての箇所を変更するには 4. 複数行から見つかる文字の全ての箇所を変更するには:
~~~ cmd ~~~ cmd
:#,#s/old/new/g :#,#s/old/new/g
~~~ ~~~
#,# には置き換える範囲の開始と終了の行番号を指定する。 #,# には置き換える範囲の開始と終了の行番号を指定する。
(例えば、`1,3`は1行目から3行目を意味します。) (例えば、`1,3`は1行目から3行目を意味します。)
ファイル全体で見つかるものに対して変更するには:
~~~ cmd ~~~ cmd
:%s/old/new/g :%s/old/new/g
~~~ ~~~
ファイル全体で見つかるものに対して変更する。
ファイル全体で見つかるものに対して、1つ1つ確認をとりながら変更するには:
~~~ cmd ~~~ cmd
:%s/old/new/gc :%s/old/new/gc
~~~ ~~~
ファイル全体で見つかるものに対して、1つ1つ確認をとりながら変更する。
NOTE: 置き換えたいテキストをビジュアルモードで選択することもできます。 NOTE: 置き換えたいテキストをビジュアルモードで選択することもできます。
これについては少し後のレッスンで説明します。 これについては少し後のレッスンで説明します。
@@ -578,8 +581,8 @@ NOTE: 置き換えたいテキストをビジュアルモードで選択する
検索の後の `n`{normal} は同じ方向の次の検索を、`N`{normal} は逆方向の検索をします。 検索の後の `n`{normal} は同じ方向の次の検索を、`N`{normal} は逆方向の検索をします。
`<C-o>`{normal} は場所を前に移し、`<C-i>`{normal} は場所を次に移動します。 `<C-o>`{normal} は場所を前に移し、`<C-i>`{normal} は場所を次に移動します。
3. (,),[,],{, もしくは } の上にカーソルがある状態で `%`{normal} をタイプすると対になる文 3. (, ), [, ], {, もしくは } の上にカーソルがある状態で `%`{normal} をタイプすると対にな
字へ移動します。 る文字へ移動します。
4. 現在行の最初の old を new に置換する。 4. 現在行の最初の old を new に置換する。
~~~ cmd ~~~ cmd
@@ -593,7 +596,7 @@ NOTE: 置き換えたいテキストをビジュアルモードで選択する
~~~ cmd ~~~ cmd
:#,#s/old/new/g :#,#s/old/new/g
~~~ ~~~
ファイルの中の全ての検索語句を置換する。 ファイルの中の全ての語句を置換する。
~~~ cmd ~~~ cmd
:%s/old/new/g :%s/old/new/g
~~~ ~~~
@@ -618,13 +621,13 @@ NOTE: 置き換えたいテキストをビジュアルモードで選択する
NOTE: この方法によってあらゆるコマンドが実行することができます。 NOTE: この方法によってあらゆるコマンドが実行することができます。
もちろん引数も与えられます。 もちろん引数も与えられます。
NOTE: 全ての `:`{vim} コマンドは `<Enter>`{normal} を押して終了しなければなりません。 NOTE: 全ての `:`{vim} コマンドは `<Enter>`{normal} を押して実行しなければなりません。
# レッスン 5.2: その他のファイルへ書き込み # レッスン 5.2: その他のファイルへ書き込み
** ファイルへ変更を保存するには `:w`{vim} ファイル名 とタイプします。 ** ** ファイルへ変更を保存するには `:w`{vim} ファイル名 とタイプします。 **
1. ディレクトリの一覧を得るために `:!{unix:(ls),win:(dir)}`{vim} とタイプしましょう。 1. ディレクトリの一覧を得るために `:!ls`{vim} とタイプしましょう。
このあと `<Enter>`{normal} を押すのは既にご存知ですね。 このあと `<Enter>`{normal} を押すのは既にご存知ですね。
2. TEST のように、そのディレクトリに無いファイル名を一つ選びます。 2. TEST のように、そのディレクトリに無いファイル名を一つ選びます。
@@ -636,14 +639,14 @@ NOTE: 全ての `:`{vim} コマンドは `<Enter>`{normal} を押して終了し
(TEST は、選んだファイル名です。) (TEST は、選んだファイル名です。)
4. これによりファイル全体が TEST という名前で保存されます。 4. これによりファイル全体が TEST という名前で保存されます。
もう一度 `:!{unix:(ls),win:(dir)}`{vim} とタイプしてディレクトリを確認してみましょう。 もう一度 `:!ls`{vim} とタイプしてディレクトリを確認してみましょう。
NOTE: ここで Neovim を終了し、`nvim TEST` で起動すると、保存した時の NOTE: ここで Neovim を終了し、`nvim TEST` で起動すると、保存した時の
チュートリアルの複製ができ上がるはずです。 チュートリアルの複製ができ上がるはずです。
5. さらに、次のようにタイプしてファイルを消しましょう: 5. さらに、次のようにタイプしてファイルを消しましょう:
~~~ cmd ~~~ cmd
:!{unix:(rm),win:(del)} TEST :!rm TEST
~~~ ~~~
# レッスン 5.3: 選択した書き込み # レッスン 5.3: 選択した書き込み
@@ -654,7 +657,7 @@ NOTE: ここで Neovim を終了し、`nvim TEST` で起動すると、保存し
2. [v](v) を押し、以下の第5項目にカーソルを移動します。 2. [v](v) を押し、以下の第5項目にカーソルを移動します。
テキストが強調表示されるのに注目して下さい。 テキストが強調表示されるのに注目して下さい。
3. 文字 : を押すと、画面の最下部に 3. 文字 `:`{normal} を押すと、画面の最下部に
`:'<,'>`{vim} `:'<,'>`{vim}
@@ -662,7 +665,7 @@ NOTE: ここで Neovim を終了し、`nvim TEST` で起動すると、保存し
4. 次のようにタイプします。 4. 次のようにタイプします。
`:w TEST`{vim} `w TEST`{vim}
TEST は存在しないファイル名です。`<Enter>`{normal} を押す前に TEST は存在しないファイル名です。`<Enter>`{normal} を押す前に
@@ -671,10 +674,10 @@ NOTE: ここで Neovim を終了し、`nvim TEST` で起動すると、保存し
となっていることを確認して下さい。 となっていることを確認して下さい。
5. Vim は TEST というファイルに選択された行を書き込むでしょう。 5. Vim は TEST というファイルに選択された行を書き込むでしょう。
:`:!{unix:(ls),win:(dir)}`{vim} でそれを確認します。 :`:!ls`{vim} でそれを確認します。
それは削除しないでおいて下さい。次のレッスンで使用します。 それは削除しないでおいて下さい。次のレッスンで使用します。
NOTE: [v](v) を押すと、ビジュアル(Visual)選択が始まります。カーソルを動かすことで、 NOTE: [v](v) を押すと、[ビジュアル(Visual)選択](visual-mode)が始まります。カーソルを動かすことで、
選択範囲を大きくも小さくもできます。さらに、その選択範囲に対してオペレータ 選択範囲を大きくも小さくもできます。さらに、その選択範囲に対してオペレータ
を適用できます。例えば `d`{normal} はテキストを削除します。 を適用できます。例えば `d`{normal} はテキストを削除します。
@@ -684,8 +687,9 @@ NOTE: [v](v) を押すと、ビジュアル(Visual)選択が始まります。
1. カーソルをこの行のすぐ上に合わせます。 1. カーソルをこの行のすぐ上に合わせます。
NOTE: ステップ 2 の実行後、レッスン 5.3 のテキストが現れます。 NOTE: ステップ 2 の実行後、ここにレッスン 5.3 のテキストが現れます。
下に下がってこのレッスンに移動しましょう。 下に下がってこのレッスンに移動しましょう。レッスンが終わったら `u`{normal} を押して
変更を取り消してください。
2. では TEST というファイルを 次のコマンドで読み込みます。 2. では TEST というファイルを 次のコマンドで読み込みます。
@@ -697,10 +701,9 @@ NOTE: ステップ 2 の実行後、レッスン 5.3 のテキストが現れま
3. 取り込んだファイルを確認してみましょう。カーソルを戻すと、レッスン5.3 のオリ 3. 取り込んだファイルを確認してみましょう。カーソルを戻すと、レッスン5.3 のオリ
ジナルとファイルによるものの2つがあることがわかります。 ジナルとファイルによるものの2つがあることがわかります。
NOTE: 外部コマンドの出力を読み込むこともできます。例えば、 NOTE: 外部コマンドの出力を読み込むこともできます。例えば、
`:r !{unix:(ls),win:(dir)}`{vim} `:r !ls`{vim}
は `ls` コマンドの出力をカーソル以下に読み込みます。 は `ls` コマンドの出力をカーソル以下に読み込みます。
@@ -709,8 +712,8 @@ NOTE: 外部コマンドの出力を読み込むこともできます。例え
1. [:!command](:!cmd) によって、外部コマンドを実行する。 1. [:!command](:!cmd) によって、外部コマンドを実行する。
よく使う例: よく使う例:
`:!{unix:(ls ),win:(dir)}`{vim} - ディレクトリ内の一覧を見る。 `:!ls `{vim} - ディレクトリ内の一覧を見る。
`:!{unix:(rm ),win:(del)} ファイル名`{vim} - ファイルを削除する。 `:!rm ファイル名`{vim} - ファイルを削除する。
2. [:w](:w) ファイル名 ファイル名 によってファイル名というファイルがディスクに書 2. [:w](:w) ファイル名 ファイル名 によってファイル名というファイルがディスクに書
き込まれる。 き込まれる。
@@ -721,8 +724,7 @@ NOTE: 外部コマンドの出力を読み込むこともできます。例え
4. [:r](:r) ファイル名 によりファイル名というファイルがディスクより取り込まれ、 4. [:r](:r) ファイル名 によりファイル名というファイルがディスクより取り込まれ、
カーソル位置の下に挿入される。 カーソル位置の下に挿入される。
5. {unix:([:r !ls](:r!) ),win:([:r !dir](:r!))} は {unix:(ls),win:(dir)} コマンドの 5. [:r !ls](:r!) は ls コマンドの出力をカーソル位置以下に読み込む。
出力をカーソル位置以下に読み込む。
# レッスン 6.1: オープンコマンド # レッスン 6.1: オープンコマンド
@@ -733,11 +735,12 @@ NOTE: 外部コマンドの出力を読み込むこともできます。例え
2. `o`{normal} (小文字) をタイプして、カーソルの下の行を[開き](o)、挿入モードに入ります。 2. `o`{normal} (小文字) をタイプして、カーソルの下の行を[開き](o)、挿入モードに入ります。
3. いくつか文字をタイプしてから、挿入モードを終了する為に `<Esc>`{normal} を入力します。 3. いくつか文字をタイプしてから、挿入モードを終了する為に `<Esc>`{normal} を入力します。
その後、追加した行を削除してください。
`o`{normal} をタイプするとカーソルは開いた行へ移動し挿入モードに入ります。 `o`{normal} をタイプするとカーソルは開いた行へ移動し挿入モードに入ります。
4. カーソルの上の行に挿入するには、小文字の `o`{normal} ではなく、単純に[大文字の O](O)をタイ 4. カーソルの上の行に挿入するには、小文字の `o`{normal} ではなく、[大文字の O](O) をタイプしま
プします。次の行で試してみましょう。 す。次の行で試してみましょう。試し終わったら追加した行を削除してください。
この行の上へ挿入するには、この行へカーソルを置いて `O`{normal} をタイプします。 この行の上へ挿入するには、この行へカーソルを置いて `O`{normal} をタイプします。
@@ -791,12 +794,12 @@ NOTE: 置換モードは挿入モードに似ていますが、全てのタイ
4. 次の行の行末までカーソルを移動します: `j$`{normal} 4. 次の行の行末までカーソルを移動します: `j$`{normal}
5. `p`{normal} を押して貼り付け([put](put))てから、次をタイプします: a second <ESC> 5. `p`{normal} を押してテキストを貼り付け([put](put))ます。
6. `a`{normal} を押してから、 "second" とタイプします。その後、`<Esc>`{normal} を押して挿入モードを 6. `a`{normal} を押してから、 "second" とタイプします。その後、`<Esc>`{normal} を押して挿入モードを
終了します。 終了します。
7. ビジュアルモードで " item." を選択、`y`{normal} で yank、次の行の行末まで `j$`{normal} で移動 7. ビジュアルモードで "item." を選択、`y`{normal} で yank、次の行の行末まで `j$`{normal} で移動
し、 `p`{normal} でテキストをそこに put します。 し、 `p`{normal} でテキストをそこに put します。
a) This is the first item. a) This is the first item.
@@ -836,7 +839,7 @@ Neovim にはあなたの必要に応じて設定できる、様々なオプシ
~~~ cmd ~~~ cmd
:set invic :set invic
~~~ ~~~
NOTE: マッチの強調表示をやめるには次の様に入力します: NOTE: 検索結果の強調表示をやめるには次の様に入力します:
~~~ cmd ~~~ cmd
:nohlsearch :nohlsearch
~~~ ~~~
@@ -869,7 +872,7 @@ NOTE: 1つの検索コマンドだけ大文字小文字の区別をやめたい
~~~ cmd ~~~ cmd
:set noic :set noic
~~~ ~~~
8. 先頭に "inv" オプションを反転する: 8. 先頭に "inv" を付けてオプションを反転する:
~~~ cmd ~~~ cmd
:set invic :set invic
~~~ ~~~
@@ -879,7 +882,8 @@ NOTE: 1つの検索コマンドだけ大文字小文字の区別をやめたい
Neovim には広範にわたるオンラインヘルプシステムがあります。 Neovim には広範にわたるオンラインヘルプシステムがあります。
ヘルプを開始するには、次の中でどれか1つを試してみましょう: ヘルプを開始するには、次のどれか1つを試してみましょう:
- `<F1>`{normal} キーを押す(もしあるならば)。 - `<F1>`{normal} キーを押す(もしあるならば)。
- `:help`{vim} とタイプする。 - `:help`{vim} とタイプする。
@@ -899,20 +903,20 @@ Neovim には広範にわたるオンラインヘルプシステムがありま
** `<C-d>`{normal} と `<Tab>`{normal} でコマンドラインを補完する ** ** `<C-d>`{normal} と `<Tab>`{normal} でコマンドラインを補完する **
1. 現在のディレクトリに在るものを表示します: `:!{unix:(ls),win:(dir)}`{vim} 1. 現在のディレクトリに在るものを表示します: `:!ls`{vim}
2. コマンドの先頭をタイプします: :e 2. コマンドの先頭をタイプします: `:e`{vim}
3. `<C-d>`{normal} を押すと Neovim は "e" から始まるコマンドの一覧を表示します。 3. `<C-d>`{normal} を押すと Neovim は "e" から始まるコマンドの一覧を表示します。
4. `<Tab>`{normal} を押すと、Neovim は可能な補完候補のメニューを表示します 4. `<Tab>`{normal} を押すと、Neovim は可能な補完候補のメニューを表示します
または、ただの一つのマッチがあるときは、補完します。 (または、ただの一つのマッチがあるときは、補完します。
例: ":ed`<Tab>`{normal}" は":edit"に補完されます 例: ":ed`<Tab>`{normal}" は ":edit" に補完されます)
5. 次のマッチに移動するには `<Tab>`{normal} または `<C-n>`{normal} を使用し、 5. 次のマッチに移動するには `<Tab>`{normal} または `<C-n>`{normal} を使用し、
前のマッチに移動するには `<S-Tab>`{normal} または `<C-p>`{normal} を使用します。 前のマッチに移動するには `<S-Tab>`{normal} または `<C-p>`{normal} を使用します。
6. `edit`{vim} を選択すると、コマンドラインに`edit` が挿入されます。 6. `edit`{vim} を選択すると、コマンドラインに `edit`{vim} が挿入されます。
7. さらに空白と、既存のファイル名の始まりを加えます: `:edit FIL`{vim} 7. さらに空白と、既存のファイル名の始まりを加えます: `:edit FIL`{vim}
@@ -923,24 +927,24 @@ NOTE: 補完は多くのコマンドで動作します。特に `:help`{vim} の
# レッスン 7.3: 設定ファイルの作成 # レッスン 7.3: 設定ファイルの作成
Neovim はとても自由度の高いエディタです。あなたの好きなようにカスタマイズするこ Neovim はとても自由度の高いエディタです。あなたの思うがままにカスタマイズするこ
とができます。より多くの機能を使い始めるには設定ファイルを作成します。 Lua を使 とができます。より多くの機能を使い始めるには設定ファイルを作成します。 Lua を使
いたい場合は "init.lua" にし、Vimscript を使いたい場合は "init.vim" にします。 いたい場合は "init.lua" 、Vimscript を使いたい場合は "init.vim" にします。
このレッスンでは "init.lua" を使います。 このレッスンでは "init.lua" を使います。
1. `"init.lua"` ファイルを編集します。 1. `"init.lua"` ファイルを編集します。
`:exe 'edit' stdpath('config')..'/init.lua'`{vim} `:exe 'edit' stdpath('config')..'/init.lua'`{vim}
2. Lua の例の設定を "init.lua" にコピーします。 2. Lua の設定を "init.lua" にコピーします。
`:read $VIMRUNTIME/example_init.lua`{vim} `:read $VIMRUNTIME/example_init.lua`{vim}
3. ファイルを書き込みます必要に応じて親ディレクトリも作成されます: 3. ファイルを書き込みます(必要に応じて親ディレクトリも作成されます):
`:w ++p`{vim} `:w ++p`{vim}
4. 次 Neovim を起動したときに、以下のコマンドでこの設定ファイルを開けます: 4. 次 Neovim を起動した、以下のコマンドでこの設定ファイルを開けます:
`:e $MYVIMRC`{vim} `:e $MYVIMRC`{vim}
@@ -960,12 +964,19 @@ Neovim はとても自由度の高いエディタです。あなたの好きな
6. お好みの設定を保つには設定ファイルを作成する。作成した設定ファイルは 6. お好みの設定を保つには設定ファイルを作成する。作成した設定ファイルは
`:e $MYVIMRC`{vim} でいつでも開き直せます。 `:e $MYVIMRC`{vim} でいつでも開き直せます。
# 次はなに?
`:help nvim-quickstart`{vim} を実行すると Nvim を拡張する為の更なる情報を確認できます。
# おわりに # おわりに
これにて Neovim チュートリアル終わりす。エディタを簡単に、しかも充分に使う これにて Neovim チュートリアルの チャプター 1 は終わりす。是非 [チャプター 2](@tutor:vim-02-beginner) に
ことができるようにと、Neovim の持つ概念の要点のみを伝えようとしました。Neovim に 挑戦してみてください。
はさらに多くのコマンドがあり、ここで全てを説明することはできません。ヘルプを沢山
活用してください。オンライン上にも数多の教材や動画を見つけることができます。 このチュートリアルでは、エディタを簡単に、しかも充分に使うことができるようにと、
Neovim の持つ概念の要点のみを伝えようとしました。Neovim にはさらに多くのコマンド
があり、ここで全てを説明することはできません。ヘルプを沢山活用してください。オン
ライン上にも数多の教材や動画を見つけることができます。
ここにいくつか紹介します: ここにいくつか紹介します:
- *Learn Vim Progressively*: - *Learn Vim Progressively*:

View File

@@ -1,40 +1,40 @@
{ {
"expect": { "expect": {
"104": "その うさぎ は つき を こえて とびはねた", "107": "その うさぎ は つき を こえて とびはねた",
"126": "この 行 には 幾つか 足りない テキスト が ある。", "129": "この 行 には 幾つか 足りない テキスト が ある。",
"127": "この 行 には 幾つか 足りない テキスト が ある。", "130": "この 行 には 幾つか 足りない テキスト が ある。",
"145": "この 行 には 間違った テキスト が あります。", "148": "この 行 には 間違った テキスト が あります。",
"146": "この 行 には 間違った テキスト が あります。", "149": "この 行 には 間違った テキスト が あります。",
"147": "ここ にも 間違った テキスト が あります。", "150": "ここ にも 間違った テキスト が あります。",
"148": "ここ にも 間違った テキスト が あります。", "151": "ここ にも 間違った テキスト が あります。",
"217": "この 文 には いくつか 必要のない 単語 が 含まれて います。", "219": "この 文 には いくつか 必要のない 単語 が 含まれて います。",
"233": "誰かがこの行の最後を2度タイプしました。", "235": "誰かがこの行の最後を2度タイプしました。",
"272": -1, "274": -1,
"291": "この行の単語は綺麗になった。", "293": "この行の単語は綺麗になった。",
"308": "1) 薔薇は赤く", "310": "1) 薔薇は赤く",
"309": "",
"310": "3) 菫は青く",
"311": "", "311": "",
"312": "", "312": "3) 菫は青く",
"313": "6) 砂糖は甘く", "313": "",
"314": "7) そして貴方も", "314": "",
"335": "この行の間違いを修正し、後でそれらの修正を取り消します。", "315": "6) 砂糖は甘く",
"400": "この行を入力した時に、その人は幾つか間違ったキーを押しました!", "316": "7) そして貴方も",
"401": "この行を入力した時に、その人は幾つか間違ったキーを押しました!", "337": "この行の間違いを修正し、後でそれらの修正を取り消します。",
"421": "This line has a few words that need changing using the change operator.", "402": "この行を入力した時に、その人は幾つか間違ったキーを押しました!",
"422": "This line has a few words that need changing using the change operator.", "403": "この行を入力した時に、その人は幾つか間違ったキーを押しました!",
"442": "The end of this line needs to be corrected using the c$ command.", "423": "This line has a few words that need changing using the change operator.",
"443": "The end of this line needs to be corrected using the c$ command.", "424": "This line has a few words that need changing using the change operator.",
"505": -1, "444": "The end of this line needs to be corrected using the c$ command.",
"524": -1, "445": "The end of this line needs to be corrected using the c$ command.",
"548": "Usually the best time to see the flowers is in the spring.", "507": -1,
"737": -1, "526": -1,
"742": -1, "550": "Usually the best time to see the flowers is in the spring.",
"758": "This line will allow you to practice appending text to a line.", "740": -1,
"759": "This line will allow you to practice appending text to a line.", "745": -1,
"776": "Adding 123 to 456 gives you 579.", "761": "This line will allow you to practice appending text to a line.",
"777": "Adding 123 to 456 gives you 579.", "762": "This line will allow you to practice appending text to a line.",
"802": "a) This is the first item.", "779": "Adding 123 to 456 gives you 579.",
"803": "b) This is the second item." "780": "Adding 123 to 456 gives you 579.",
"805": "a) This is the first item.",
"806": "b) This is the second item."
} }
} }

View File

@@ -0,0 +1,192 @@
# Neovim のチュートリアルへようこそ
# チャプター 2
この先 危険! : もしこれがあなたにとって初めて Neovim に触れる機会で、入門用の
チャプターをまだ読んでいないのであれば、ぜひ、Neovim エディタに以下の文字列を
入力してください。
~~~ cmd
:Tutor vim-01-beginner
~~~
または、[チャプター 1](@tutor:vim-01-beginner) をクリックしてください。
このチャプターを完了するのに必要な時間は、練習にどれだけ時間をかけるかによりま
すが、おおよそ 8~10 分です。
# レッスン 2.1.1: 名前付きレジスタ
** Store two yanked words concurrently and then paste them **
** ヤンクした二つの単語を同時に保存し、それらをペーストします **
1. 以下の ✓ と示された行にカーソルを移動します。
2. 単語 'Edward' の上に移動した後、`"ayiw`{normal} とタイプします。
**覚え方**: *into register(") named (a) (y)ank (i)nner (w)ord*
*( レジスタに aという名の ヤンク 内側 単語 )*
3. 単語 'cookie' に移動(`fk`{normal}, `2fc`{normal}, `$2b`{normal} や `/co`{normal} `<ENTER>`{normal})し、`"byiw`{normal} とタイプします。
4. 単語 'Vince' の上に移動した後、`ciw<CTRL-r>a<ESC>`{normal} とタイプします。
**覚え方**: *(c)hange (i)nner (w)ord with <contents of (r)egister> named (a)*
*( 変更 内側 単語 で <レジスタの内容> aという名の )*
5. 単語 'cake' の上に移動した後、`ciw<CTRL-r>b<ESC>`{normal} とタイプします。
a) Edward will henceforth be in charge of the cookie rations
b) In this capacity, Vince will have sole cake discretionary powers
NOTE: 削除した文字列もレジスタに格納されます。例えば `"sdiw`{normal} はカーソル下の単語を
削除し、レジスタ s に格納します。
REFERENCE: [レジスタ](registers)
[名前付きレジスタ](quotea)
[モーション](text-objects)
[CTRL-R](i_CTRL-R)
# レッスン 2.1.2: EXPRESSION レジスタ
** 計算の結果をその場で挿入します **
1. ✗ で示された行にカーソルを移動します。
2. 行内の数字の上に移動します。
3. 次のようにタイプします: `ciw<CTRL-r>=`{normal}60\*60\*24 `<ENTER>`{normal}
4. 次の行の末尾で挿入モードに入り、以下をタイプして今日の日付を追加します:
`<CTRL-r>=`{normal}`system('date')`{vim} `<ENTER>`{normal}
NOTE: すべてのシステムコールは OS 依存です。例えば Windows では以下を使います:
`system('date /t')`{vim} または `:r!date /t`{vim}
一日って何秒だっけ、 84600 秒かな?
本日の日付は:
NOTE: 日付を入力するには、`:pu=`{normal}`system('date')`{vim} や、よりキーストロークの少ない
`:r!date`{vim} でも可能です。
REFERENCE: [Expression レジスタ](quote=)
# レッスン 2.1.3: 番号付きレジスタ
** `yy`{normal} と `dd`{normal} のレジスタに対する効果を確認する **
1. ✓ と示された行にカーソルを移動します。
2. 0番目の行をヤンクした後、`:reg`{vim} '<ENTER>'{normal} でレジスタを調べます。
3. `"cdd`{normal} で 0番目の行を削除して、再度レジスタを確認します。
(0番目の行はどこにあると思いますか?)
4. 残りの行もそれぞれ削除しつつ、その都度 `:reg`{vim} 確認します。
NOTE: 新たに削除された項目が追加される度に、古い項目がリストの下に移動しているこ
とに気づきましたか?
5. 次の順番でレジスタをペーストします: c, 7, 4, 8, 2。例: `"7p`{normal}
0. ねがわくは
9. おちゃめな
8. ゔぃまーと
7. いつまでも
6. むげんの
5. そんな
4. こうふくな
3. いかした
2. ならんことを
1. します
NOTE: 行全体削除(`dd`{normal})は行全体ヤンクや一行以下の小さな削除に比べて、長期間番号付き
レジスタに保存されます。
REFERENCE: [番号付きレジスタ](quote0)
# レッスン 2.1.4: マークの美
** Code monkey arithmetic avoidance **
NOTE: 大きなコードの塊を動かすことはコーディングにおける面倒事の一つです。例えば
`"a147d`{normal} や `:945,1091d a`{vim} 、さらには `i<CTRL-r>=`{normal}1091-945 `<ENTER>`{normal} のような、コ
ード操作の為に行数の計算をするような事を避ける為のテクニックを紹介します。
1. ✓ と示された行にカーソルを移動します。
2. 関数の最初の行に移動して `ma`{normal} でマークします。
NOTE: 行内におけるカーソル位置は重要ではありません!
3. `$%`{normal} で行末からさらにコードブロックの末尾に移動します。
4. `"ad'a`{normal} でコードブロックを削除しレジスタ a に格納します。
**覚え方**: *into register(") named (a) put the (d)eletion from the cursor to
the LINE containing mark(') (a)*
*( レジスタに a という名の 格納 削除を カーソルから
マーク a を含む行までの )*
5. `"ap`{normal} でコードブロックを BBB と CCC の間にペーストします。
NOTE: `ma$%"ad'a`{normal} という操作に慣れるまで何度も練習しましょう。
~~~ cmd
AAA
function itGotRealBigRealFast() {
if ( somethingIsTrue ) {
doIt()
}
// 関数の分類基準が変更されたため
// この位置ではアルファベット順にそぐわなくなってしまいました
// ここに数百行のコードがあるとイメージしてください
// 愚直に最初と最後の行番号を使って動かしても構いません
}
BBB
CCC
~~~
NOTE: レジスタとマークは名前空間を共有しません。したがってレジスタ a と マーク a
は完全に独立しています。レジスタとマクロの場合、これは該当しません。
REFERENCE: [マーク](marks)
[マークにおけるモーション](mark-motions) (' と \` の違いについて)
# レッスン 2.1 要約
1. テキストを格納(ヤンク、削除)したり、取り出し(ペースト)できるレジスタが計26
個(a-z)存在する。
2. 単語全体をヤンクするには単語内の任意の位置で: `yiw`{normal}
3. 単語全体を変更するには単語内の任意の位置で: `ciw`{normal}
4. 挿入モードでレジスタから直接テキストを挿入するには: `<CTRL-r>a`{normal}
5. 単純な算術計算の結果を挿入するには、挿入モードで次のタイプ:
`<CTRL-r>=`{normal}60\*60 `<ENTER>`{normal}
6. システムコールの結果を挿入するには、挿入モードで次をタイプ:
`<CTRL-r>=`{normal}`system('ls -1')`{vim}
7. レジスタを確認するには: `:reg`{vim}
8. `dd`{normal} は 1 - 9 で降順の番号レジスタに格納される。行全体削除は他の操作より長期
間番号付きレジスタに保持される。
9. 番号付きレジスタにおいて、ヤンクされた内容は短時間で破棄される。
10. コマンドモードでマークを設定するには: `m[a-zA-Z0-9]`{normal}
11. マークへ行単位で移動するには `'`{normal}
# おわりに
これにて Neovim チュートリアルの チャプター 2 は終わりです。
これはまだ未完成です。
このチャプターは Paul D. Parker によって書かれました。
Modified for vim-tutor-mode by Restorer.
日本語訳 ite-usagi <https://github.com/ite-usagi>

View File

@@ -0,0 +1,10 @@
{
"expect": {
"38": -1,
"39": "b) In this capacity, Edward will have sole cookie discretionary powers",
"66": "一日って何秒だっけ、 86400 秒かな?",
"67": -1,
"93": -1,
"138": -1
}
}