[Vim入門①] 4つのモードを使いこなそう

はじめに

2024年、Vimも今年で33歳(派生元のViは48歳)になるわけですが、いまさらVim入門シリーズを書きたいと思います!

ソフトウェア開発、Webデザイナ、Vimに興味がある方は是非!

Vimって何

Vimとはターミナルで動くテキストエディタです。

これ使えば、どんなファイルでもチョチョイと編集できちゃいます。ターミナルで動くのでチョー軽いです。

しかも大抵のLinuxマシンに入ってるので、他サーバーにSSH接続したときとかでもすぐ起動できます。リモートデスクトップなんていらねぇ。

これ使いこなせると、周囲からヲタク認定スーパーハカーとして崇められること請け合いです。

Vim vs Vim動作

でもこいつ、ターミナルで動くので、とっつきにくい見た目をしてます。

UI/UXのユの字もありません。

でも大丈夫!ホンモノのVimを使わなくても、Vim動作さえ覚えちゃえば君の好きなIDEでVimが使えます。

というのも、VSCode, IntelliJ, PyCharm, Eclipseなど大抵のIDEにはVimモードが備え付きorエクステで手に入るからです。

逆に言えば、Vim動作はいろんなIDEに取り入れられるほど人気なのです。かくいう僕も、Vimなしでは物が書けない体になってしまいました。 今もこの記事をセコセコVimで書いてます。

そんな大人気なVimなので、ぜひ使えるようになりましょう!

Vimをインストールしてみよう

💡
IDEの場合
IDEからVimモードを使う場合は、エクステンションをインストールしてあげてください。
有名なIDEのVimエクステンションを張っておきます:
💡
ターミナルの場合
本物のVimを使いたい猛者の方はターミナル環境が必要になります。
これはお使いのOSによって異なります。OS別のおすすめインストール方法を載せておきますね。

Vimを起動してみよう

Vimがインストールできたら、早速起動してみましょう。

IDEの場合:
エクステンションをインストールしたら、自動的にVimモードがオンになってるはずです。
IDEの画面下に --NORMAL-- みたいな表記があったら読み込み成功です。

ターミナルの場合:
Vimコマンドをインストールしたら、vim <ファイル名>でVimを起動できます。

このシリーズの構成

このシリーズでは、Vimを下記の6種類に分けて一つずつ紹介していきます。

  • 4つのモードについて <- 今ココ
  • 横の移動
  • 縦の移動
  • 文章の編集
  • コンビネーション
  • 上級テクニック

Vimってできることが多いので、最初から全部覚えようとすると大変です。
一つずつ、じっくりと学んでいきましょう。

💡
最初が一番難しい!
Vimはマウスとか取っ払ってキーボードだけで操作を簡潔させるプログラムです。
マウスを使った移動や文章の選択は一切行いません!
これまで使い慣れたマウスを手放すのはとても難しいでしょう。僕もそうでした。
でも、ちょっとずつ使っていけばVimの良さが分かってくると思うので、頑張っていきましょう!

4つのモード

ということで、本記事ではVim内の「モード」について解説します。
下記の4つです。

  • インサートモード (Insert mode): 文章が書けます
  • ノーマルモード (Normal mode): カーソルを移動できます
  • ビジュアルモード (Visual mode): 文章を選択できます
  • コマンドモード (Command mode): コマンドを動かします

一つずつ見ていきましょう!

インサートモード (Insert mode)

文章を書くモードです。

Vimを起動した後、insertのiを押すとこのモードに入ります。

Wordみたいに、タイプした文字がそのまま表示されるようになります。 試しにいろいろ書いてみましょう!

ノーマルモード

カーソルを移動するときに使うモードです。実はこれデフォルトのモードで、Vim起動するとこのモードで始まります。

さっきiを押したのも、ノーマルモードからインサートモードに入るためです。

他のモードからノーマルモードに切り替えるには、Escキーを押します。

そうすると、カーソルを h(左), j(下), k(上), l(右)で動かせるようになります。

💡
矢印は使っちゃダメ!
矢印でもカーソルの移動はできますが、推奨しません。キーボードの中央から遠いからです。
両手は極力キーボードに添えたままテキスト編集できるのがVimの真骨頂です。
Vimを使いこなしたければ、矢印キーは捨てましょう。

ビジュアルモード

文章を選択するときに使うモードです。

ノーマルモードからvisualのvを押すとこのモードに入ります。

ビジュアルモードではノーマルモードと同じhjklの移動コマンドが使えます。
試しにカーソルを動かすと、文章がハイライトされていくのがわかると思います。

さらに、ハイライトされた文章のコピーや削除もこのモードでできます。

  • 文章がハイライトされた状態でdを押すと、選択された文章を切り取ります。(deleteのd)
  • 文章がハイライトされた状態でyを押すと、選択された文章をコピーします。(yankのy)
  • 文章を切り取り・コピーした後にpを押すと、カーソルの位置に文章を貼り付けます。(pasteのp)

コマンドモード

ファイルの保存やVimの終了など、プログラムの操作に使うモードです。

ノーマルモードから:と押すとこのモードに移行し、画面下記に文字をタイプできるようになります。

  • ノーマルモードから:wと打つと、ファイルの保存を行います。(writeのw)
  • ノーマルモードから:qと打つと、Vimを終了します。(quitのq)
  • 2つ合わせて:wqでファイルを保存してから終了できます。
💡
Vimから出れる!
おめでとうございます、これであなたもVimから出れるようになりましたね!
初心者が陥りやすい罠で、Vim入ったけど出れないってことはよくあります。私もやらかしたことあります。
実はこの現象、海外ではちょっとしたネットミームなんですよ。

これは初歩的な記事なので列挙しませんが、コマンドモードではマジでいろんな操作ができます。
もっと詳しく知りたい方はこちらからどうぞ!

おわりに

この記事では、Vimの4つのモードの解説と、それぞれの初歩的な操作を紹介しました。

ホントは各モードで紹介したい操作がいっぱいあるんですが、取り上げすぎると頭こんがらがっちゃうので次回以降に取っておきます。
まずは基本のVim起動 -> ファイル書き込み -> 切り取り・貼り付け -> ファイルの保存 まで紹介しました。

次回は横の移動について詳しく掘り下げていきます!

Read more

zshの模様替えをしました

zshの模様替えをしました

💡この記事は下の動画の受け売りです: はじめに 今年も早いもので、すでに三月。春の始まりです。 春といえば新しい生活。心機一転! 周りの環境が大きく変わる方も多いのではないでしょうか? 今年の春、私の人生に大した変化はないのですが、それでも人生にちょっと新しい風を吹かしたいな~と思うので、今回思い切って模様替えをしようと思います! ターミナル環境のね。 zshellって? シェル (shell) とは、OSとユーザーの仲介役。ターミナルを開いたときに動くプログラムがシェルです。 そのシェルにも色々あるんです。sh, bash, fish, ksh などなど…。今回は、その中のzsh というシェルの話。 zshは高いカスタマイズ性が人気です。zsh そのものの機能と豊富なプラグインでターミナル環境を自分の好きなように設定できます。 私もzshを使い始めて数年たちますが、欲しいところにちゃんと手が届く、という印象です! …とか言いつつ私は面倒くさがりなので、自分で.zshrc をイジることはしません。YouTubeやSNSなどで見つけたカッコいいタ

By Roland Thompson
Terraformを使って"AWS Lambdaとその取り巻き"を召喚しよう

Terraformを使って"AWS Lambdaとその取り巻き"を召喚しよう

はじめに 人生、いろんな「派閥」ってありますよね。私が属するITインフラ業界にも色々あります。どのクラウドを使うか、どのIDEを使うか、どのOSを使うか…枚挙に暇がありません。 インフラ(IaC)言語もその一つ。私はこの業界に足を踏み入れてから、ずっとCloudFormation派閥です。私はAWS専門だったので、AWS公式のCloudFormationで仕事が成り立ってました。 しかし最近、AzureやDatabricks関連の仕事も私に降ってくるようになりました。そうなると、AWS限定のCloudFormationでは対応できません。 そんなとき、複数のクラウドプラットフォームに対応できるTerraformという存在を耳にしました。 Terraformの練習として、AWS Lambdaとその取り巻き(ECR, IAM, Secrets Manager, CloudWatch, SQS) を召喚してみたので、この記事にまとめます。 環境構築 まずは公式マニュアルを参考にTerraformをインストールしましょう。 ターミナルからTerraformが動けば、インストー

By Roland Thompson