LoginSignup
5
15

More than 5 years have passed since last update.

ゼロから始めるvim

Last updated at Posted at 2017-08-11

vimとは

コマンドライン上で呼び出すことのできるエディターです。
CUI(コマンド・ユーザー・インターフェース)で使われることを前提に設計されたエディターです。

Unix/Linux系のOSを使っている人は、vimに触れる機会があると思います。それで、Vimでコンフィグを書き換えなければ行けないなんてことも多々あります。
さらに、サーバ上で直接的にソースや設定ファイルに変更を加えるときも、vimを使います。
なので覚えておいて損はないと思います。

vimの使うメリット

  • キーボードだけで操作できるから慣れればとても生産性が上がる。
  • sshでリモート開発などですごい役に立つ
  • 何にしろかっこい(個人的な意見w)

vimを触れる前に基本だけ抑えよう

vimは、 6つの基本モードに加えて、6つのモードがあります。

そのうちの「NormalMode」、「InsertMode」、「VisualMode」の3つのモードについて今回は紹介していきたいと思います。

開いた時の状態を、NormalModeといい、NormalModeでは文字を打っても受け付けてくれません。
NormalModeで主にできることは、カーソル移動、コピー、削除などです。 ※詳しくは下のコマンド一覧で!

InsertMode とは、その文字どおり、文字を打ち込むときに使います。
InsertMode も起動方法は、基本的に i で起動させます。起動したら下に[– INSERT –]と表示されるはずです。
(他にも入力モードの起動方法はあります。※下のコマンド一覧に書いておきます。)

入力モードの終了方法は「esc」キーです。

VisualModeについてはあとで説明します。

vimを起動させよう

ターミナルからの軌道になると思います。

一応Linuxコマンドの最低限の復習をしましょう。

コマンド  内容
cd ディレクトリの移動
ls ディレクトリの一覧表示
pwd カウントディレクトリーの表示
mkdir フォルダーの作成
touch ファイルの作成
cd ~ ホームディレクトリーに移動

実際にvimを起動させていきます。

vim

と打つだけです。
もし、sample.textというファイルをvimで起動したいのなら

vim sample.text

と打てばsample.textを開いてvimが起動します。
※同じディレクトリにいる必要があります。

vimに触れよう

まずはカーソルの移動から覚えましょう。

コマンド 内容
h カーソルを左に移動
j カーソルを下に移動
k カーソルを上に移動
l カーソルを右に移動

とても基本的な操作です。必ず使うので覚えておきましょう。
十字キーでも操作は可能ですが。それではVimの意味がないので h,j,k,l を使いましょう。]

入力と保存、終了をやってみよう!

コマンド 内容
i カーソルの位置から入力モードを起動
a カーソルの位置から1つ進めて入力モードを起動
o カーソルの位置から改行して入力モードを起動
:w 保存
:q 実行中のタブを閉じる
:wq 保存して終了
:q! 保存せずに終了
ZZ 上書き保存し、viを終了
:xa 変更があるタブを保存してすべてのタブを閉じて、ターミナルに戻ります

3つもモードについて少し説明します。

コマンド 内容 起動方法
NormalMode カーソルの移動。他のモードへの移行。テキストのコピー、カット、ペースト。 Esc
InsertMode テキストの入力、編集。 a/i/o
VisualMode テキストの選択。 v

VisualModeは、vを打ってそのあとに選択したいところをカーソルを移動して選択するだけです。
そのあとは、削除なり、コピーなど行いたい操作を行ってください。

コマンドを覚えよう

全部覚える必要はないですが、ここにあるのは一部ですので自分が必要としているものから覚えていきましょう。

コマンド一覧

    ※文末に ! をつけると強制っという意味になる。

キー 動き
------------------移動系------------------
^ 現在行の先頭に移動
$ 現在行の末尾に移動
ctr + f ページ送り
ctr + b ページ戻し
gg 先頭に移動
G 最終行に移動
w 次の単語の先頭に移動
b 前の単語の先頭に移動
e 次の単語の末尾に移動
------------------削除系------------------
x 一文字削除
c VisualModeで選択した範囲を消してInsertModeで終わる
ci 括弧の中身だけを消す
ciw カーソルの下にある1単語を消してInsertModeに入る
cit htmlのタグに囲まれている中を消します
dw カーソルから右側にある単語を消す
daw カーソルの下にある単語を消す
D カーソルから右側にある文を全て消す
S カーソルのある1行を全て消してInsertMode起動
------------------その他------------------
dd 行をカット
yy 行をコピー
p ペースト
u 戻る (ctr + z)
/[文字]+return 検索(n:下方向に検索 N:上方向に検索)
-----------------↓おすすめ↓-----------------
:!{shellコマンド} vim内でshellのコマンドが使えます
Control+v 元のカーソル位置から動いたところまでを箱型で選択
ggVG 全選択

Touch Bar搭載で[esc]がと思った方へ

ctr + [ で同じ動きをしてくれますし、こっちの方が指の動きが小さく済む気がします。
自分的におすすめなので、もしよかったら試してみてください。

5
15
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
15