viコマンドとは?gitbashのvimテキストエディタの使い方
gitbashでショートカット(alias)の設定をしようとしたときに、「vi ~/」というコマンドが出てくる。
このコマンドの意味と使い方の簡単なまとめ。
■結論
結論からいうと、vimというテキストエディタを立ち上げるコマンド。
VScodeやatomなどの一般的なテキストエディタと異なり、見た目や使い方にクセがあるため、使い方については下で解説。
目次
viコマンドとは?
いつ使う?
gitbash上で設定ファイルを開いて操作するときによく出てくるコマンド。
例:vi ~/desktop/test.html
└ 中身は2つだけ。①vi, ②指定ファイル
└ 「vi」コマンドでファイル「~/desktop/test.html」を開く
補足
gitbash(ターミナルやコマンドプロンプト)でパス指定で出てくる冒頭の「~」はホームディレクトリを指す。
意味は?
所説あるが、「Visual Editor」の略らしい。
└ 冒頭の2語?という印象だが、意味としては分かりやすい
Editorというだけあって、編集する機能。
現在使われているツールだと、テキストエディタに分類される。
viとvimの違い
viを調べると必ずでてくるのがvimという単語。
結論からいうと、「vi」=「vim」で問題なし。
viはwikiによると初版1976年と約40年以上前のもの。vimは2000年以降で普及してきたviの進化版。
コマンドは「vi」も「vim」もどちらもあるが、起動するエディタは同じ。
~2つとも同じ~vi ~/desktop/test.html
vim ~/desktop/test.html
ちなみに、vimは「Visual editor IMproved」
の略らしい。
Vimエディタの使い方
■起動するvi ファイルパス
└ フルパスか相対パス
vi ~/desktop/test.html
Enterを押すとすぐにエディタが起動。
大きく3つのパートから成る
①ファイルの中身
②何もない行
└ 冒頭に「~」がある
└ 画面を伸ばすと~が増える。狭めれば減る。
③コマンド入力欄
└ 現在の状態も表示される
※分かりにくかったのが、キーボードで入力できる箇所が2つあること(①と③)
■モード
主に4つのモードがある
- 「挿入モード」
- 「ノーマルモード」
- 「コマンドモード」
- 「ビジュアルモード」
1. 「挿入モード」
・VScodeやatom、メモ帳のようなテキストエディタ
・上記キャプチャの①
・ノーマルモードの状態で、「i」をクリックすると挿入モードになる
・詳細はこちら
2. 「ノーマルモード」
・改行、行の削除・挿入、コピペができる
・vim立ち上げ時のデフォルト画面
・上記キャプチャ①の画面に対して実行される
3. 「コマンドモード」
・保存、vimの終了ができる
・ノーマルモードで「:」を押す
・上記キャプチャの③に入力できるようになる
・「esc」キーでノーマルモードに戻る
・詳細はこちら
4. 「ビジュアルモード」
・範囲選択ができる
└ ノーマルモードでも可能だが、色が反転しないので選択は範囲がわかりずらい。
・コピペや削除で使用
・ビジュアルモードと矩形ビジュアルモードの2種類がある。詳細はこちら
■挿入モード
できること
ファイルの編集
挿入モードへの移り方
**i
をクリック(他にも挿入コマンドあり)
画面下のコマンドモードに「--挿入--」と表示されればOK |
---|
![]() |
※マウスは効かない。移動はキーボードの矢印。
編集ができる。(例:h1タグの追加) |
---|
![]() |
挿入モードから抜ける
・escキー
をクリック(←困ったらコレ)
▼挿入モードへの入り方
①指定箇所を選択i
: カーソルの前a
: カーソルの後ろ
②行頭か行末を選択I
: 行の先頭(shift+i)A
: 行の末尾(shift+a)
③空白行追加O
: 上に空白行を追加(shift+o)o
: 下に空白行を追加
└ 追加行の先頭を選択(インデント合わせ)
■コマンドモード
できること
保存、エディタの終了(通常のgitbashに戻る)など。
一般的なテキストエディタでctrl押しながらする操作は、コマンドモードで行う。(※注意:コマンドが違う)
主な使い方
「:」をクリックするとコマンド欄に入力できるようになる。
└ 「esc」でノーマルモードに戻る
①一時保存:w
└ Enterで確定
コマンド欄に「:w」を入力 |
---|
![]() |
完了すると「"test.html" [dos] 14L, 270C 書込み」のように表示される。
②エディタを閉じる (通常のgitbashに戻る):q
└ Enterで確定
└ 変更内容を保存してないとエラーになる
変更保存前のエラー
「E37: 最後の変更が保存されていません (! を追加で変更を破棄)
」
③強制終了:q!
└ Enterで確定
└ 「!」は強制の意味を持つ
ctrl+z
でも終了できる
④元に戻す(undo):u
└ Enterで確定
└ ノーマルモードで「u」も同じ
コマンドモードのコマンド一覧
■保存と終了
:w
:保存:q
:終了:wq
:保存&終了:q!
:強制終了:w!
:強制保存:w ファイルパス
:ファイルに名前を付けて保存(既に存在するば場合はエラー):w! ファイルパス
:ファイルに名前を付けて強制保存
ノーマルモードのコマンド一覧
■文字や行の削除
dd
:行の削除d0
:行の中で、選択位置から前を削除(d+ゼロ)D
:行の中で、選択位置から後をを削除
・挿入モードでbackspace
・ビジュアルモードで選択し「d」でも可
■コピペ
y
:コピー(選択後)yy
:1行コピーd
:切り取り(選択後)p
:貼付け
※「ヤンク」という言葉が出てくるが、「コピー」と同じ意味。(linuxではコピーのことをヤンク(yank)という)
■変更を戻す・進む(undo, redo)
u
:変更を戻すctrl+r
:変更を進める
■改行
コマンドモードで改行o
:改行(下に改行を追加。挿入モードになる)O
:改行(上に改行を追加。挿入モードになる)
挿入モードで改行もできるctrl + o
+ o
:下で改行ctrl + o
+ O
:上で改行
└ 「ctrl + o」で挿入モード中にコマンドを一つ入力できるモードに入る
└「o」改行を押す
■範囲の選択
一般のテキストエディタとは選択方法が異なる
(shift+カーソルは使えない)
選択方法は①「m」マーキングと②「v」ビジュアルモードの2種類がある。
m
:マーキング
└ カーソルがある位置でマーキング
└ 画面右下に「m」文字が表示される
▼操作方法
1. 選択を開始する位置にカーソルを移動
2. 「m」キーを押す
3. 選択の終端にカーソルを移動
4. コマンド(例:「y」コピー)を押す
v
:ビジュアルモード
└ 選択範囲が分かりやすくなる(背景色が変わる)
▼操作方法
1. 選択を開始する位置にカーソルを移動
2. 「v」キーを押す(ビジュアルモードに入る)
3. カーソルを移動し(範囲が広がる)
4. コマンドを入力
5. 「esc」キーを押す(ビジュアルモード終了)
■移動(カーソル)
0
:行の先頭へ移動$
: 行の末尾へ移動(shift +4)-
:一行上の先頭へ移動gg
: 先頭行へ移動(HOME)G
:最終行へ移動(END)j
:1行上へ移動k
:1行下へ移動h
:左へ移動l
:右へ移動
[補足]
その他のコマンド
shift + h
:先頭へ移動(≒HOME)shift + l
:末尾へ移動hjklはキーボードの並び順
h j k l ← ↑ ↓ →
■画面移動
ctrl + d
:画面を上にスクロールctrl + u
:画面を下にスクロール
矢印でも代替可
shift + ↑
:画面を上にスクロールshift + ↓
:画面を下にスクロール
■挿入モードに入る
i
: カーソルの前a
: カーソルの後ろI
: 行の先頭(shift+i)A
: 行の末尾(shift+a)O
: 上に空白行を追加(shift+o)o
: 下に空白行を追加
■ビジュアルモードと矩形ビジュアルモードの違い
範囲選択するビジュアルモードには①ビジュアルモードと②矩形ビジュアルモードがある。
それぞれ選択範囲が異なる
①ビジュアルモード v
始点から、終点までを全て選択
選択範囲の間がすべて選択状態になる。 |
---|
![]() |
②矩形ビジュアルモード ctrl+v
列単位で範囲選択。
※矩形とは:四角という意味。正方形や長方形のように四角く選択できる
四角く範囲を選択できる |
---|
![]() |
選択した範囲で、文字を置換したいときなどに有効。