Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

vimコマンドの操作まとめ

$
0
0

vimとは

vimは、CUIベースのテキストエディタである。
状況に応じてモードを切り替えながら、高速にテキストを編集することができる。
vimコマンドのモードと操作方法を説明する。

モードの種類

vimエディタには、以下のモードの種類がある。
各モードの操作方法は後述する。

・ノーマルモード
カーソルの移動、テキストのコピー/カット/ペーストができる。

・入力モード
テキストの入力/編集ができる。

・コマンドモード
入力されたコマンドに応じ、ファイルの保存やテキストの置換ができる。

・ビジュアルモード
テキストの範囲選択ができる。

・検索モード
任意の文字列を検索することができる。

vimエディタ起動

下記のコマンドでvimを起動する。
vim {ファイル名}

入力した名前のファイルがない場合は、新規作成される。

モードの切り替え

vimコマンドを実行すると、ノーマルモードでファイルが開かれる。
他のモードへの切り替えは、必ずノーマルモードから切り替えをする必要がある。

以下、ノーマルモードから他のモードへの切り替え方法である。

切り替え先のモードキー
入力モードi
コマンドモード:
ビジュアルモードv
V
CTRL + v
検索モード/
*
#

他のモードからノーマルモードに戻るときは、ESCキーを押す。

各モードの操作方法

1. ノーマルモード

ノーマルモードでは、カーソルの移動、テキストのコピー/カット/ペーストができる。

カーソルの移動

  • gg : 先頭へ移動
  • G : 後尾へ移動
  • [数字]G : 指定した数字の行へ移動
  • CTRL + f / CTRL + b : 画面単位の移動
  • w / b : 単語単位の移動
  • ^ : 行頭へ移動
  • $ : 行末へ移動

テキストのコピー/カット/ペースト

  • dd : 1行をカット(削除)
  • [数字]dd : 数字分の行をカット
  • yy : 1行をコピー
  • [数字]dd : 数字分の行をコピー
  • p : 貼り付け

操作の取り消しなど

  • u : 1つ前の操作を取り消し
  • CTRL + r : 1つ先の操作に進む

その他の便利な機能

  • . : 直前の操作を繰り返す
  • CTRL + n : 補完機能

2. インサートモード

iキーで、入力モードに切り替えする。
このモードは、テキストの入力ができる。

3. コマンドモード

:キーで、コマンドモードに切り替えする。
このモードでは、入力されたコマンドに応じ、ファイルの保存、テキストの置換ができる。

ファイル操作

  • w : 保存
  • w [ファイル名] : 名前を付けて保存
  • q : vimエディタ終了
  • q! : 変更内容を無視してvimエディタ終了
  • set number : 行番号を表示
  • set nonumber : 行番号を非表示
  • [数字] : 指定した数字の行に移動

̻̻̻テキストの置換

  • s/[置換前の文字列]/[置換後の文字列]/g : カーソルがある1行に対して置換
  • %s/[置換前の文字列]/[置換後の文字列]/g : ファイル全体に対して置換

ウィンドウの分割

  • sp : 縦にウィンドウを分割
  • vs : 横にウィンドウを分割
  • close : ウィンドウを閉じる
  • e [ファイル名] : 指定したファイルをvimエディタで開く

4. ビジュアルモード

ビジュアルモードは、文字単位/行単位/短形単位の範囲選択ができる。
以下のキーで、ビジュアルモードへ切り替えする。

  • v : 文字単位の選択
  • V : 行単位の選択
  • CTRL + v : 短形単位の選択

5. 検索モード

検索モードは、任意の文字列を検索することができる。
以下のキーで検索モードに切り替えする。

  • / + 文字列 : カーソルがある位置から下方向に検索
  • * : カーソルがある位置の単語を下方向に検索
  • # : カーソルがある位置の単語を上方向に検索

その後、以下のキーで検索を継続できる。

  • n : 下方向に検索
  • N : 上方向に検索

また、大文字小文字を区別せずに検索したい場合は、コマンドモードで以下のコマンドを実行しておく。

  • set ignorecase : 大文字小文字を区別しない
  • set noignorecase : 大文字小文字を区別する

Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>