0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PC&プログラミング初心者が初めて覚えるVim 50選!+plus2

Last updated at Posted at 2023-10-13

普段馴染みのあるフォルダやアイコンなどの図形が表示されているのはGUIと呼ばれていますが、プログラマーがマウスを使用せずに「コマンド」と呼ばれる文字列を入力している画面がCUIです。  

そして、CUIで動かすのが前提のテキストディタ―にVimがあります。

Vimを使う前に知っておくべきコマンド

Vimはターミナルから起動します。ところがPC初心者はターミナルを起動させることはできても、ターミナルの終了方法を分かりません。

《参考》ターミナルの起動方法  
Windowsの場合は左下の検索にターミナルを入力すればアプリを選択できるターミナル画像-ブログ用.png

ターミナルの終了コマンド
ターミナルは【exit】を入力し、【enter】キーを押すと終了できます!

Vimを起動する前に

1)ターミナルを起動  

2)cdコマンドで作業したいディレクトリ(フォルダ)へ移動する

例)cd 飛鳥

最初に覚えるべきVimのコマンド

Vimの起動

番号 コマンド 意味
vim Vimの起動

Vimのモード  

番号 出し方 モード 用途例
Esc Normal コマンドモード
Esci Insert 文字編集
Escv Visual 文字選択

Vimの終了

番号 コマンド 意味 モード
:w ファイルを保存 Normal
:q 実行中のタブを閉じる Normal
:xまたは:wq 編集した内容を保存して終了 Normal
:q! 編集した内容を保存せずに終了 Normal

例えば、⑧の「編集した内容を保存せずに終了」したいときはEscでNormalモードにし、:q!を入力してEnterキーを押すとVimを終了できる。

既存ファイルを開く・新規作成

番号 コマンド 意味 モード
e ファイル名.拡張子 既存ファイルを開く。 Normal
:w 飛鳥.html ファイルに名前を付けて保存 Normal
vim ファイル名.拡張子 Vimの起動と同時に新規ファイルを開く。 ターミナル

⑩は①でVimを起動してから【Normal】モードでファイル名を付けるのに対して、⑪はターミナルでVimを起動する際に、予めファイル名を付ける。例)vim 飛鳥.txt

文字の削除とやり直し

番号 コマンド 意味 モード
x 1文字削除 Normal
u やり直し(最後のコマンド取り消し) Normal
ctrl+R やり直しのやり直し(取り消したのを取り消し) Normal

《他の削除例》

コマンド 削除 モード
D カーソル位置から行末まで削除 Normal
S 1行削除して、挿入モード Normal→Insert
●cc ●行削除して、挿入モード Normal→Insert
v+k(又はj)+x ビジュアルモード後に上又は下カーソルで範囲指定して削除 Normal→Visual

コピー&貼付

番号 コマンド 意味 モード
v+l+y ビジュアルモード後に範囲選択してコピー Normal→Visual
●yy ●列コピー Normal
p ペースト Normal

xddで削除した文字をpでペーストすることもできる

選択

番号 コマンド 意味 モード
ggVG すべて選択 Normal

次に覚えるべきVimのコマンド

外部コマンドを実行

番号 コマンド 意味 モード
:!+ 外部コマンド+enter 外部コマンドの実行 Normal
!dir 又は :!ls+enter ディレクトリ一覧 Normal
:!del+ ファイル名.拡張子+enter ファイルを削除 Normal

全ての :コマンドenterを押して終了しよう!

おいおい覚えるVimのコマンド

※使っているうちに覚えるだろうコマンド

検索  

番号 コマンド 意味 モード
(,[,{の位置に% 対応する ),],} を検索 Normal
/+検索したい文字列 文字列を検索 Normal
n [/]で検索した文字列の次の検索候補に飛ぶ Normal
N [/]で検索した文字列の前の検索候補に飛ぶ Normal

㉖合致するすべてを強調表示する

  1. Normalモードで:set hlsと入力
  2. /検索したい文字を入力
  3. :nohlsで強調表示をやめる

置換  

番号 コマンド 意味 モード
~ カーソル直下の文字の大文字小文字を切り替える Normal
v+ 範囲選択 + U ビジュアルモード後に選択した範囲の大文字小文字の切替 Normal→Visual
:s/old/new 今いる行の最初の「old」を「new」に置換 Normal
:s/old/new/g 行全体の「old」 を「new」 に置換 Normal
:1,30s/old/new/g 1~30行目の範囲にある「old」を「new」へ置換 Normal
:%s/old/new/g ファイル全体で見つかるものに対して置換 Normal
:%s/old/new/gc ファイル全体で見つかるものに対して、1つ1つ確認をとりながら置換 Normal
番号 コマンド 意味 モード
o 今いる行の1つ下の行が開き、Insert Normal→Insert
O 今いる行の1つ上の行が開き、Insert Normal→Insert

㊱あるファイルの特定行を別ファイルに保存

  1. v で特定の行を選択
  2. :を押して:'<,'>を表示させる。
  3. w ファイル名を入力。
  4. :'<,'>w ファイル名になっていることを確認。
  5. enterで保存。

㊲Bファイルの取込 ※AとBはファイル名

  1. Aファイルを開く。
  2. 取り込みたい行にカーソルを合わせる。
  3. Bファイルの内容を:r Bで読み込む。

   外部コマンドの出力の読み込み。
例):r !ls で一覧がカーソル行の下に追記される。

カーソルの移動とか

番号 コマンド 意味 モード
r カーソルの下の文字を置きかえ Normal→Insert
gg 先頭行に移動 Normal
G 最後の行に移動 Normal
●G ●(数字)行に移動 Normal
j 下に移動 Normal
k 上に移動 Normal
h(またはb) 左に移動 Normal
l(またはwまたはe) 右に移動 Normal
0(ゼロ) 今いる行の頭に移動 Normal
a カーソル上の文字の直後へ飛び、Insert Normal→Insert
A 今いる行の最後へ飛び、Insert Normal→Insert
I 今いる行の最初へ飛び、Insert Normal→Insert
% カーソル直下に括弧があるとき括弧の始め又は括弧の終わりに移動 Normal
. 直前にやったことの繰り返し Normal
J 1つ下の行と連結 Normal

50選で終わりたかったのに・・2個オーバーしてしまいました

必要か定かではないVimのコマンド

コマンド 意味 モード
H 表示されている画面の一番上に移動 Normal
M 表示されている画面の真ん中に移動 Normal
L 表示されている画面の一番下に移動 Normal
R Rで置換モード(?)にして、置換したい文字を編集。終了するときはesc Normal
0
3
0

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
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?