> [!code]- Markdown原文 (こちらをVimに貼り付けて進めましょう) > ~~~ > 操作方法のことを[[オペレータ]]といいます。 > > ## オススメ[[オペレータ]] > > 必須なのは以下3つです。 > > | コマンド | 意味 | 覚え方 | > | -------- | ------ | ------ | > | `d` | 削除 | delete | > | `y` | コピー | yank | > | `c` | 変更 | change | > > 以下4つもよく使います。 > > | コマンド | 意味 | 覚え方 | > | -------- | ----------------------- | ------ | > | `gU` | 大文字に変換 | | > | `gu` | 小文字に変換 | | > | `g~` | 大文字/小文字の切り替え | | > | `>` | 右側にインデント | --> | > | `<` | 左側にインデント | <-- | > > ## 行全体に[[オペレータ]]を実行 > > オペレータコマンドを2連続で入力すると行全体に実行されます。 > > `dd`と押してみましょう。 > > ```txt > Hello Aimaime! > ▼ > Hello develop support! > Hello Vim! > ``` > > gから始まる2文字コマンドはgを省略できます。 > > `gU`の場合、`gUU`って押してみると... > > ```txt > Hello Aimaime! > ▼ > Hello develop support! > Hello Vim! > ``` > > ## 好きな範囲にオペレータを実行 > > [[オペレータ]]は好きな範囲適応できます。[[モーション]]と組み合わせることで.. 😏 > > `dw`と押してみましょう。 > > ```txt > ▼ > Hello Aimaime! > ``` > > `dta`と押してみましょう。 > > ```txt > ▼ > Hello Aimaime! > ``` > > `{オペレータ}{モーション}`と打てば、`モーション`の先まで`オペレータ`が適応されます。 > > `d2j`と押してみましょう。 (`d`が[[オペレータ]]、`2j`が[[モーション]]) > > ```txt > ▼ > Hello Aimaime! > Hello develop support! > Hello Vim! > Bye Emacs!! > ``` > > `d/Vim<CR>`なんてのもたまに使います。 (`d`が[[オペレータ]]、`/Vim<CR>`が[[モーション]]) > > ```txt > ▼ > Hello Aimaime! > Hello develop support! > Hello Vim! > Bye Emacs!! > ``` > > [[Vimmer]]の思考は 『何の操作を』『どこに』するか ということですね😄 > > ## 操作の繰り返し > > ### [[ドットコマンド]] > > `{オペレータ}{モーション}`で実行した操作は繰り返すことができます。その名も**[[ドットコマンド]]**.. Vimキーバインドが評価される最大の理由と言っても過言ではありません💚 > > `dw`と押した後に、`.`を何回か押してみましょう。 > > ```txt > Hello Aimaime! > ▼ > Hello develop support! > Hello Vim! > Bye Emacs!! > ``` > > ### c[[オペレータ]]の価値 > > `c`という変更の[[オペレータ]]について、『 `d`[[オペレータ]]使ってから`i`で[[挿入モード]]に入ればいいのでは..』と思いませんでしたか? > > [[ドットコマンド]]が登場することにより、`c`の株価は爆上がりします。[[ドットコマンド]]と`c`[[オペレータ]]を使って、以下の`Hello`を`Good morning,`に変えてみましょう。 > > `cwGood morning,<ESC>`と押してから、`+.`と2回押してみましょう。 > > [!note] > `+`は次の行の非空白文字先頭に移動するコマンド > > ```txt > ▼ > Hello Aimaime! > Hello develop support! > Hello Vim! > Bye Emacs!! > ``` > > 『何の操作を』『どこに』するか に当てはめると.. > >『`Good morning`に変更する処理』を『単語』にする.. > > この操作を繰り返していたということになります。 > > ### [[ドットコマンド]]で繰り返し可能なモノ > > `{オペレータ}{モーション}`のカタチでなくても[[ドットコマンド]]は使えます。`A`は行末に文字を挿入するコマンドですが、[[ドットコマンド]]で繰り返し可能です。 > > `A end.<ESC>`と押してから、`j.`を3回押してみましょう。 > > ```txt > ▼ > Hello Aimaime! > Hello develop support! > Hello Vim! > Bye Emacs!! > ``` > ~~~ 操作方法のことを[[オペレータ]]といいます。 ## オススメ[[オペレータ]] 必須なのは以下3つです。 | コマンド | 意味 | 覚え方 | | -------- | ------ | ------ | | `d` | 削除 | delete | | `y` | コピー | yank | | `c` | 変更 | change | 以下4つもよく使います。 | コマンド | 意味 | 覚え方 | | -------- | ----------------------- | ------ | | `gU` | 大文字に変換 | | | `gu` | 小文字に変換 | | | `g~` | 大文字/小文字の切り替え | | | `>` | 右側にインデント | --> | | `<` | 左側にインデント | <-- | ## 行全体に[[オペレータ]]を実行 オペレータコマンドを2連続で入力すると行全体に実行されます。 `dd`と押してみましょう。 ```txt Hello Aimaime! ▼ Hello develop support! Hello Vim! ``` gから始まる2文字コマンドはgを省略できます。 `gU`の場合、`gUU`って押してみると... ```txt Hello Aimaime! ▼ Hello develop support! Hello Vim! ``` ## 好きな範囲にオペレータを実行 [[オペレータ]]は好きな範囲適応できます。[[モーション]]と組み合わせることで.. 😏 `dw`と押してみましょう。 ```txt ▼ Hello Aimaime! ``` `dta`と押してみましょう。 ```txt ▼ Hello Aimaime! ``` `{オペレータ}{モーション}`と打てば、`モーション`の先まで`オペレータ`が適応されます。 `d2j`と押してみましょう。 (`d`が[[オペレータ]]、`2j`が[[モーション]]) ```txt ▼ Hello Aimaime! Hello develop support! Hello Vim! Bye Emacs!! ``` `d/Vim<CR>`なんてのもたまに使います。 (`d`が[[オペレータ]]、`/Vim<CR>`が[[モーション]]) ```txt ▼ Hello Aimaime! Hello develop support! Hello Vim! Bye Emacs!! ``` [[Vimmer]]の思考は 『何の操作を』『どこに』するか ということですね😄 ## 操作の繰り返し ### [[ドットコマンド]] `{オペレータ}{モーション}`で実行した操作は繰り返すことができます。その名も**[[ドットコマンド]]**.. Vimキーバインドが評価される最大の理由と言っても過言ではありません💚 `dw`と押した後に、`.`を何回か押してみましょう。 ```txt Hello Aimaime! ▼ Hello develop support! Hello Vim! Bye Emacs!! ``` ### c[[オペレータ]]の価値 `c`という変更の[[オペレータ]]について、『 `d`[[オペレータ]]使ってから`i`で[[挿入モード]]に入ればいいのでは..』と思いませんでしたか? [[ドットコマンド]]が登場することにより、`c`の株価は爆上がりします。[[ドットコマンド]]と`c`[[オペレータ]]を使って、以下の`Hello`を`Good morning,`に変えてみましょう。 `cwGood morning,<ESC>`と押してから、`+.`と2回押してみましょう。 > [!note] > `+`は次の行の非空白文字先頭に移動するコマンド ```txt ▼ Hello Aimaime! Hello develop support! Hello Vim! Bye Emacs!! ``` 『何の操作を』『どこに』するか に当てはめると.. >『`Good morning`に変更する処理』を『単語』にする.. この操作を繰り返していたということになります。 ### [[ドットコマンド]]で繰り返し可能なモノ `{オペレータ}{モーション}`のカタチでなくても[[ドットコマンド]]は使えます。`A`は行末に文字を挿入するコマンドですが、[[ドットコマンド]]で繰り返し可能です。 `A end.<ESC>`と押してから、`j.`を3回押してみましょう。 ```txt ▼ Hello Aimaime! Hello develop support! Hello Vim! Bye Emacs!! ```