2023-02-17 · 4

Vim

vimlinux

この記事は公開から2年以上経過しています。

今回はサーバー管理でもよく使われ、開発でも多用される Vim について簡単にまとめてみます。

Vim とは?

Vim は Bram Moolenaar が作った vi 互換のテキストエディタです。Vim は vi と互換でありながら独自に多様な機能を追加してユーザーの利便性を支えています。特に Vim スクリプトなどで編集環境を自由に変更できること、拡張された正規表現文法、強力なシンタックスハイライト、多段アンドゥ、Unicode をはじめとする多言語対応、構文チェックなどが使える点が強みに挙げられます。

Vim を使う理由?

Vim を絶対使うべき理由?そんなものはありませんが、実際 VSC などで基本的な Windows キーボードの使い方である「Ctrl + 矢印キー」や「Ctrl + Backspace」のような機能に慣れていれば、Vim ほどではなくても速いコーディングは可能です。それでも Vim を使う理由は、前述の通り基本機能だけでは Vim のタイピング速度に勝てないからです。コーディングのとき、全体置換、数単語の削除、括弧の中だけ削除など、必要な機能は全部 Vim にあると思ってもらえば OK です。またマウスを使うこともほぼなくなります(笑)

Vim の基本的な使い方

Vim の使い方について説明します。

使える方法は 2 つあります。

1 つ目は Linux 系で vim を使う方法です。

2 つ目は VSC のような IDE に追加で Vim を入れることです。

インストールすると上の写真のようにカーソルが太くなったのが確認できます。そして VSC の下を見ると --NORMAL-- となっているのが状態です。この状態ではキーボード入力ができません。

i や a を押すと、再びキーボード入力ができる --INSERT-- モードになっているのが確認できます。ここでまた ESC を押すと --NORMAL-- モードに戻ります。

Vim 基本コマンド

NORMAL モード <-> INSERT モードの切り替え方法です。

  • a : NORMAL モードのとき、カーソルの後ろから INSERT モードになります
  • i : NORMAL モードのとき、カーソルの前から INSERT モードになります。
  • I(大文字 i): 行頭で INSERT モードになります。
  • A(大文字 a): 行末で INSERT モードになります。

ナビゲーションコマンドです。

  • h : 左矢印キー
  • j : 下矢印キー
  • k : 上矢印キー
  • l : 右矢印キー
  • 0 : 行の一番先頭
  • $(Shift + 4): 行の一番末尾
  • w : 1 単語ずつ飛ぶ
  • b : 後ろへ 1 単語ずつ飛ぶ
  • [n]w: n 回繰り返し。3w なら 3 単語飛ぶという意味
  • H(大文字 h): 画面の一番上へ移動
  • M(大文字 m): 画面の真ん中へ移動
  • L(大文字 l): 画面の一番下へ移動
  • gg : 現在作業中のファイルの一番先頭へ移動
  • G(大文字 g): 現在作業中のファイルの一番末尾へ移動
  • [n]G : n 行目へ移動。13G なら 13 行目へ移動
  • ctrl u : 上へスクロール
  • ctrl d : 下へスクロール
  • { : 段落の始まり
  • } : 段落の終わり

編集コマンド

  • x : カーソル位置の文字を削除
  • dd : カーソル位置の行全体を削除(切り取り)
  • yy : 行のコピー(ctrl c 機能)
  • p : 貼り付け
  • *p : クリップボード貼り付け(VSC では別途設定が必要)
  • u : 元に戻す
  • ctrl r : やり直し

Vim 応用編

動作方式は Command + Object で進みます。

  • Command : d delete(cut)、y yank(copy)、c change(change は他のコマンドと違い、完了すると INSERT モードに変わる)
  • Object : 3w、3b、aw(a word)、at(a tag)、ap(a paragraph)、as(a sentence)、it、i"、ip
  • .(ドット):(ドット)を押すと直前のコマンドを繰り返せる

例)

  • d3w: delete 3 word(3 単語を消せ)になります。
  • dit: delete inner(inside)tags <> このタグの中にあるものをすべて消します。
  • daw: delete a word 1 単語を削除します。
  • d3w: delete 3 word 3 単語を削除します。
  • d2j: 下へ 2 行削除します。
  • d2k: 上へ 2 行削除します。
  • df( : ( (丸括弧)まで削除します
  • dt( : ( (丸括弧)の手前まで削除します
  • d/(sh: (sh まで削除します

追加の使い方

  • v : 選択(ドラッグ)
  • vaw : 1 単語を選択(ドラッグ)します

参考

https://www.youtube.com/watch?v=cY0JxzENBJg&t=6s


原文(韓国語): tistory — 2023-02-17 公開、当ブログへ移行。この翻訳は AI の協力で作成されました。

コメント

コメントを削除しますか?

関連記事

Vim · 나봄하랑