

vimを勉強し始めたけれど、文字の選択ってどうやるのかなあ?あと文字を削除したりエクセルみたいにコピペしたりする方法もどうやるのかなあ?という疑問にお答えします。
ボクはプログラミング学習を2018年春からはじめて約1年。普段はsublimeTextという普通のテキストエディタを使っているけれど、vimを使えたらかっこいいなと思って、密かに勉強中で、vimの操作方法をアウトプットしています。
この記事では、vimでファイルを開いた後、文字を選択したり、削除したり、コピペする方法についてご紹介します。
それでは、まずvimで文字を選択する方法から見ていきましょう。
vimで文字を選択する方法

練習のためターミナルでvimでファイルを開きます。
コマンド:vim + ファイル名
vimでは、モードをビジュアルモードにすることで、キーボードによって文字を選択することができます。
まずノーマルモードの状態で、カーソルを任意の所に移動させます。

小文字のv:普通の選択
小文字のvを押すと、ターミナルの一番下にvisualと表示されます。そしたら、ビジュアルモードになって、文字が選択できるようになります。

白っぽくなっている箇所が選択された箇所です。l(エル)キーを押して右方向に選択しています。
ここから、jキーを押すと下方向に選択範囲が広がったりします。こんな風に、hjklキーを使って、選択範囲を調整できます。
これが通常の選択モードです。
大文字のV:行単位の選択
次に、escキーを押してノーマルモードに移り、今度はshift + vで大文字のVを押してみましょう。すると、ターミナルの下の方にvisual lineと表示されます。
これで1行の文字が全部選択された状態になり、jとkキーで上下に選択範囲を広げられます。

次に、矩形(くけい)選択をみてみましょう。
control + 小文字のv:矩形選択
ちなみに矩形とは、長方形のことみたいです。vimでいうと、縦方向の長方形のことです。
control + vキーを押すと、ターミナルの下の方にvisual blockと表示されます。そして、カーソルがあるとこからjかkキーを押すと、そこから画像のように文字の選択が長方形になっているのがわかります。行の先頭が選択されるみたいなイメージですね。

この先頭の文字が同時に選択された状態から、l(エル)キーを押すと、右方向に選択範囲を同時に広がります。

次に、ファイルに書かれている文字を全選択する方法を見てみましょう。
これも覚えておくと便利な感じですね。
文字を全選択する方法
簡単にまとめると、
ノーマルモードでggで先頭に移動、大文字のVで行選択、大文字のGで最終行に移動で全選択できます。
1.ノーマルモードにして、ggキーでファイルのテキストの一番最初に移動

2.shift + vキーで大文字のVを押して、1行目の全体を選択

3.shift + gキーで大文字のGを押して、ファイルの最終行まで移動

以上のように、ファイルの文字が全選択された状態になります。
つぎは、文字を削除する方法を見ていきましょう。
文字を削除する方法
まずは、普通に文字を消す方法です。
1文字単位で文字を削除する方法
ノーマルモードでhjklキーを使って消したい文字の上にカーソルを移動させて、小文字のxを押すと、文字が消せます。

画像では、DOCTYPEのDの上にカーソルを移動して、xキーを押して、Dを削除しています。
行単位で文字を削除する方法
削除したい行にカーソルを移動して、ddキーを押します。dを2回押せば大丈夫です。すると、行単位で文字が削除できます。
まとめて何行も消したいときは、ddの前に消したい行数を付け足せばokです。
例:3ddとキーを押したら、カーソルがあるところから3行が削除されます。
ちなみに、削除した文字は記憶されているので、またペーストできます。
なので、削除=カットという感じですね。
ペーストする方法
ペーストは、小文字のpキーを押せばできます。
カット&ペースト、これは覚えておくとサクサク操作できて便利そうですね。
最後に、文字をコピーする方法です。
文字をコピーする方法
文字をコピーするには、yyキーを押せば、カーソルがある1行全体がコピーされます。小文字のyを2回押せば大丈夫です。
ちなみに、yはyankのyで、yankはぐいっと引っ張るみたいな意味らしいです。
コピーもペーストと合わせて使うのが必須なので、覚えておくと便利ですね。
以上が、vimで文字を選択、削除、コピペする方法となります。
これも適当なファイルをvimで開いて、どんどん触って自然と覚えていくのが良さそうですね。
vimでキーボードだけでいろんな操作をサクサクできることに少し感動し始めています。まだまだ初歩ですが、vimすごいですね。ぜひ操作を覚えて、側から見たら何しているか分からないけどどんどんコード編集していてかっこいいみたいになりたいですね。
コメント