Vim入門：基本操作から始める2

[Vim入門：基本操作から始める1](https://qiita.com/hellomyzn/private/6e909dda6acedad7e5e9) の続きです


#### fコマンド

fコマンドは、「find」の略で、指定した文字を含む行内で、カーソルの位置から右方向に検索して最初に見つかった文字に移動します。

| コマンド | 説明 |
|---------|------|
| `fx`    | カーソル位置から右方向に検索して、最初に見つかった「x」の位置に移動する |
| `F`     | fコマンドと同様に検索するが、左方向に検索する |
| `;`     | 前回のfコマンドまたはtコマンドで指定した文字を再検索する |
| `,`     | 前回のfコマンドまたはtコマンドで指定した文字を反対方向に再検索する |

#### tコマンド

tコマンドは、「to」の略で、指定した文字の直前まで移動します。

| コマンド | 説明 |
|---------|------|
| `tx`    | カーソル位置から右方向に検索して、最初に見つかった「x」の直前に移動する |
| `T`     | tコマンドと同様に検索するが、左方向に検索する |
| `;`     | 前回のfコマンドまたはtコマンドで指定した文字を再検索する |
| `,`     | 前回のfコマンドまたはtコマンドで指定した文字を反対方向に再検索する |


#### *コマンド

*コマンドは、現在のカーソル位置にある単語を検索して、次にその単語が出現する位置に移動します。なお、大文字と小文字は区別されます。

| コマンド | 説明 |
|---------|------|
| `*`     | 現在のカーソル位置にある単語を検索して、次にその単語が出現する位置に移動する |
| `#`     | *コマンドと同様に検索するが、前方向に検索する |
| `n`     | *コマンドで指定した文字を再検索する |
| `N`     | *コマンドで指定した文字を反対方向に再検索する 


#### ジャンプ系


| コマンド            | 説明                                                 |
|-------------------|------------------------------------------------------|
| `:help {word}`     | 指定した単語のヘルプを表示します。                        |
| `gg`              | ファイルの先頭に移動します。                              |
| `G`               | ファイルの最後に移動します。                              |
| `{ / }`               | 次 / 前のパラグラフに移動                              |
| `[[ / ]]`               | 次 / 前のセクションに移動                              |
| `:{line_number}`   | 指定した行に移動します。                                 |
| `/{word}`         | 指定した単語を検索し、その最初の出現箇所にジャンプします。       |
| `n`               | 直前の検索でマッチした単語を次の出現箇所にジャンプします。      |
| `N`               | 直前の検索でマッチした単語を前の出現箇所にジャンプします。     |
| `%`               | カーソルの位置に対応する括弧にジャンプします。                    |
| `ma`            | マークを "a" に設定します。                                                         |
| `` `a ``        | 直前に設定した "a" マークのある行にジャンプします。                                       |
| `:marks`        | すべてのマークを表示します。                                                          |
| `:delmarks {a}` | 指定したマークを削除します。                                                            |
| `:delmarks!`    | すべてのマークを削除します。                                                           |
| `Ctrl-o`      | 直前の位置に戻る                     |



### Text Objects（テキストオブジェクト)
Text Objectsは、Vimのテキスト操作をより効率的かつ正確に行うことができる機能の一つです。
Text Objectsは、コマンドと一緒に使われることが多く、操作したいテキストを正確に指定することができます。

Text Objectsは、iとaの2つのプレフィックスを使って指定することができます。
`i`は「内側（inside）」を表し、
`a`は「周囲（around）」を表します。

例えば、i(は括弧の内側を指定し、a(は括弧と括弧の中身をまとめて指定します。

また、
`w`（単語）、
`p`（段落）、
`t`（タグ）

など、多数の種類が用意されています。

これらのText Objectsを組み合わせて使うことで、非常に正確なテキスト操作が可能となります。

例えば、
`ciw`と入力すると、現在のカーソル位置から単語の境界までのテキストを削除し、新しいテキストを入力することができます。

また、`dap`と入力すると、現在のカーソル位置の段落全体を削除することができます。

### クリップボード
| コマンド       | 説明                                 |
|:--------------|:-------------------------------------|
| `:reg`         | クリップボードを表示      |
| `"<0-9>p`         | クリップボードの内容をペーストする      |



### 数字の増減
| コマンド        | 説明                       |
|:---------------|:---------------------------|
| `Ctrl-a`       | カーソル下の数字を1増やす   |
| `Ctrl-x`       | カーソル下の数字を1減らす   |


### マクロの記録と再生
マクロの記録と再生を利用することで複数の挙動を記録してそれを繰り返すことができます。
`.`の複数コマンド版と覚えておきましょう。

| コマンド        | 説明                               |
|:---------------|:-----------------------------------|
| `q{a-z}`       | アルファベットキーでマクロの記録を開始 |
| `q`            | マクロの記録を終了                 |
| `@{a-z}`       | アルファベットキーでマクロを再生       |