mofflog

---人生の3%ぐらい役立つブログ---

これだけは覚えておきたいVimのコマンドを用途別で超簡単にまとめる

f:id:moffle8:20190520233930p:plain

こんにちはもっふるでs

 

Vimとは主にLinuxやUnixでよく使われている高機能のテキストエディタで、プログラム開発している人たちにとってはかなり親しまれているものだとと思います。

 

テキストエディタにはさまざまなものがあり、たとえばAtomやVisual Stidio Codeなどいろいろあります。これらは主に視覚的なインターフェース(GUI)でマウス操作などを使って感覚的に動かすことができます。

 

Vimの特徴

一方Vimはかなりシンプルなもので、基本的な操作はアプリケーション上からではなく、ターミナル上でのコマンド操作(CUI)によって動かします。

 

シンプルがゆえに動作が軽量でカスタマイズ性もあり、パワフル・高機能な開発が行えるので多くのプログラマーにいま現在も親しまれています。

Vimテクニックバイブル ?作業効率をカイゼンする150の技

Vimテクニックバイブル ?作業効率をカイゼンする150の技

 

 

しかしVimはコマンド操作なので、特有のコマンドラインを覚えたりするのは一般的なテキストエディターに慣れている人には若干敷居が高いかもしれません。

 

しかしコマンドを覚えることによってVimのメリットを生かした開発が可能になる今回はVimでよく使う・覚えておきたいコマンドを用途別に紹介していきます。

 

※一部わかりやすさ重視で呼称を少し変えています。

 

Vimでよく使う・覚えておきたいコマンド

コード

モード操作

Vimにはさまざまなモードが用意されており自分の編集するスタイルによって適宜さまざまなモードに変更します。一般的に文字を挿入していく場合は挿入モード、範囲を指定して編集(削除など)する場合はビジュアルモードを使います。

 

  • ・モード選択 =:ESC
  • ・編集モード(挿入)=:i
  • ・編集モード(範囲指定)=:v

 

エディット

アプリケーションのようにメニューバーから保存などの操作は行えないので保存や終了などの操作も基本的にはコマンド上で行います。ESCでモード選択に入ってから入力するようにします。なれてくるとマウスでクリックするよりこっちのほうが早いですね。

 

  • ・保存  =:w
  • ・終了 =:q
  • ・保存して終了=:wq
  • ・強制  =:!(w/q)

 

移動

移動は基本的矢印キーで操作します。基本的には一行、一文字ずつなので大キック動かしたいときはしたのページジャンプを使います。

 

  • ・上 = ↑ (pageup)
  • ・下 = ↓ (pagedown)
  • ・右 = → (home)
  • ・左 =←(end)

 

ページジャンプ

プログラムの行数が多いものになってくると移動キーだけでは時間がかかりすぎてしまうので一気にジャンプできるコマンドを活用することによって目的の行にスイスイアクセスすることができます。

 

  • ・一番上 =gg
  • ・一番下 =G
  • ・*行目 =*G
  • ・画面内の一番上=H
  • ・画面内の真ん中=M
  • ・画面内の一番下=L
  • ・次のワード=w
  • ・前のワード=b
  • ・行の先頭=0
  • ・行の末尾=

 

検索

ファイル内のワードを検索したり、それを特定してワードを別のワードに置き換えることもできます。また補完機能もついていて生産性が高まります。

 

  • ・ワード検索 =/~
  • ・ワード変換(AをBに)=:%s/A/B/g
  • ・ワード補完=Ctrl + P

 

コピペ

基本的にはマウスを使わないので、コピー&ペーストもコマンドを打って行っていきます。

 

  • ・コピー=yy
  • ・ペースト =p

 

操作

操作を間違えてしまったときや、修正したけどやっぱりもとの動作に戻したいときなどに活用します。これは画像編集ソフトなどにもついているおなじみの便利な機能ですよね。これがあることによってミスへのリカバリーも早くなります。

 

  • ・一個前の操作=u
  • ・一個後の操作=Ctrl + r

 

ウインドウ

デフォルトで表示されるのはの一画面だけですが、それらの画面を何分割にもすることができるのでそれぞれ違うファイルの編集をするといったこともできるようになります。

 

  • ・ウインドウを分割=:vsplit
  • ・右のウインドウへ=Ctrl + wh
  • ・左のウインドウへ=Ctrl + wl

 

テキスト編集

挿入モード以外では主に下のようなコマンドを用いて、テキストの編集を行っていきます。一行ずつ削除できたり、インデントを入れるのも楽なので便利ですね。

 

  • ・削除(1文字)=x
  • ・削除(一行)=dd
  • ・行そろえ(インデント)===
  • ・インデント増=>>
  • ・インデント減=<<
  • ・変更(1単語)=cw
  • ・変更(1行)=cc

 

その他機能

テキストエディタとしての最低限の機能だけでなく、ほかにもコーディングをするうえで便利な機能が内蔵されています。

 

実践Vim 思考のスピードで編集しよう! (アスキー書籍)

実践Vim 思考のスピードで編集しよう! (アスキー書籍)

 

 

  • ・バッファ一覧=:buffers
  • ・マクロ実行=@letter
  • ・マクロの記録=q<letter>q(停止)
  • ・レジスタの表示=:reg

 

ここでは最小限覚えたほうがよいコマンドをあげてみました。実際にvimでは役に立つさまざまな機能があるので、使い勝手に慣れたらどんどん新しい機能を使っていくとかいはつのスピード感もさらにあがっていくと思うのでぜひ覚えてみてください。