Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21499

【vimコマンド一覧】viコマンドとは?gitbashでvimテキストエディタを使う方法

$
0
0

viコマンドとは?gitbashのvimテキストエディタの使い方

gitbashでショートカット(alias)の設定をしようとしたときに、「vi ~/」というコマンドが出てくる。
このコマンドの意味と使い方の簡単なまとめ。

■結論

結論からいうと、vimというテキストエディタを立ち上げるコマンド。
VScodeやatomなどの一般的なテキストエディタと異なり、見た目や使い方にクセがあるため、使い方については下で解説。

目次

  1. viコマンドとは?
  2. Vimエディタの使い方
  3. 挿入モード
  4. コマンドモード
  5. コマンドモードのコマンド一覧
    1. 保存と終了
  6. ノーマルモードのコマンド一覧
    1. 文字や行の削除
    2. コピペ
    3. 変更を戻す・進む
    4. 改行
    5. 範囲の選択
    6. 移動(カーソル)
    7. 画面移動
    8. 挿入モードに入る
  7. ビジュアルモードと矩形ビジュアルモードの違い

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 ファイルパス
 └ フルパスか相対パス

デスクトップのtest.htmlファイルを開く
vi ~/desktop/test.html

Enterを押すとすぐにエディタが起動。



■エディタ
立ち上がったエディタの画面。
image.png

大きく3つのパートから成る

①ファイルの中身
②何もない行
  └ 冒頭に「~」がある
  └ 画面を伸ばすと~が増える。狭めれば減る。
③コマンド入力欄
  └ 現在の状態も表示される

※分かりにくかったのが、キーボードで入力できる箇所が2つあること(①と③)

■モード
主に4つのモードがある

  1. 「挿入モード」
  2. 「ノーマルモード」
  3. 「コマンドモード」
  4. 「ビジュアルモード」

1. 「挿入モード」
・VScodeやatom、メモ帳のようなテキストエディタ
・上記キャプチャの①
・ノーマルモードの状態で、「i」をクリックすると挿入モードになる
・詳細はこちら



2. 「ノーマルモード」
・改行、行の削除・挿入、コピペができる
・vim立ち上げ時のデフォルト画面
・上記キャプチャ①の画面に対して実行される



3. 「コマンドモード」
・保存、vimの終了ができる
・ノーマルモードで「:」を押す
・上記キャプチャの③に入力できるようになる
・「esc」キーでノーマルモードに戻る
・詳細はこちら



4. 「ビジュアルモード」
・範囲選択ができる
 └ ノーマルモードでも可能だが、色が反転しないので選択は範囲がわかりずらい。
・コピペや削除で使用
・ビジュアルモードと矩形ビジュアルモードの2種類がある。詳細はこちら


■挿入モード

できること
ファイルの編集

挿入モードへの移り方
**iをクリック
(他にも挿入コマンドあり)

画面下のコマンドモードに「--挿入--」と表示されればOK
image.png

※マウスは効かない。移動はキーボードの矢印。

編集ができる。(例:h1タグの追加)
image.png



挿入モードから抜ける
escキーをクリック(←困ったらコレ)


▼挿入モードへの入り方

①指定箇所を選択
i: カーソルの前
a: カーソルの後ろ

②行頭か行末を選択
I: 行の先頭(shift+i)
A: 行の末尾(shift+a)

③空白行追加
O: 上に空白行を追加(shift+o)
o: 下に空白行を追加
 └ 追加行の先頭を選択(インデント合わせ)


■コマンドモード

できること
保存、エディタの終了(通常のgitbashに戻る)など。

一般的なテキストエディタでctrl押しながらする操作は、コマンドモードで行う。(※注意:コマンドが違う)

主な使い方

「:」をクリックするとコマンド欄に入力できるようになる。
└ 「esc」でノーマルモードに戻る

①一時保存
:w
 └ Enterで確定

コマンド欄に「:w」を入力
image.png

完了すると「"test.html" [dos] 14L, 270C 書込み」のように表示される。



②エディタを閉じる (通常のgitbashに戻る)
:q
 └ Enterで確定
 └ 変更内容を保存してないとエラーになる

image.png

変更保存前のエラー
「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はキーボードの並び順

hjkl


■画面移動

ctrl + d :画面を上にスクロール
ctrl + u :画面を下にスクロール

矢印でも代替可
shift + ↑ :画面を上にスクロール
shift + ↓ :画面を下にスクロール


■挿入モードに入る

i: カーソルの前
a: カーソルの後ろ
I: 行の先頭(shift+i)
A: 行の末尾(shift+a)
O: 上に空白行を追加(shift+o)
o: 下に空白行を追加


■ビジュアルモードと矩形ビジュアルモードの違い

範囲選択するビジュアルモードには①ビジュアルモードと②矩形ビジュアルモードがある。
それぞれ選択範囲が異なる

①ビジュアルモード v
始点から、終点までを全て選択

選択範囲の間がすべて選択状態になる。
image.png



②矩形ビジュアルモード ctrl+v
列単位で範囲選択。
※矩形とは:四角という意味。正方形や長方形のように四角く選択できる

四角く範囲を選択できる
image.png

選択した範囲で、文字を置換したいときなどに有効。





トップに戻る


Viewing all articles
Browse latest Browse all 21499

Latest Images

Trending Articles