Help us understand the problem. What is going on with this article?

Vi(Vim)の基本操作メモ

More than 1 year has passed since last update.

Viの基本操作について、個人的によく使う操作方法をメモします。

起動

$ vi ファイル名

入力モードについて

viはコマンドモードで立ち上がる (コマンドモードについて下記に記載)。
文字を入力する場合は、入力モードに移る以下キーを入力する。

[a]   ...カーソルの右から入力開始(a: Add の意味)
[A]   ...行末から入力開始
[i]   ...カーソルの左から入力開始(i: Insert の意味)
[I]   ...行頭から入力開始
[o]   ...現在の行の下に1行挿入し、その行頭から入力開始
[O]   ...現在の行の上に1行挿入し、その行頭から入力開始

コピー・貼り付けについて、入力モードでは何か他のテキストの文字列、外部サイトの文字列をコピーし、そのまま貼り付けることができる。

コマンドモードについて

escキーでコマンドモードに移る。ファイル・文字列操作、保存等が可能。

カーソル移動

1文字移動

基本的に矢印キーは使うなと昔上司に言われました。でも使ってもいいと思いますが…

左: [←キー] or [h] or [BackSpace]
右: [→キー] or [l] or [Space]
上: [↑キー] or [k]
下: [↓キー] or [j]

単語ごとに移動

[w]    ...1語次へ
[b]    ...1語前へ

削除・貼り付け

[x]    ...1文字削除。
[yy]   ...1行コピーしクリップボードへ格納する。
[dd]   ...1行切り取りしクリップボードへ格納する、または1行削除。
[p]    ...クリップボードの内容をカーソル行の下の行に貼り付ける。

行番号

:set number    ...行番号を表示
:se nu         ...行番号を表示(上に同じ)
::set nonumber 
:se nonu
:行番号        ...行番号を指定して移動

検索

[/]文字列    ...カーソルの後方に検索を行う
[?]文字列    ...カーソルの前方に検索を行う
[n]文字列    ...次の検索該当文字列へ
[N]文字列    ...前の検索該当文字列へ

置換

:s/文字列1/文字列2/    ...カーソル行で最初の「文字列1」のみを「文字列2」に置換する
:s/文字列1/文字列2/g    ...カーソル行の「文字列1」を全て「文字列2」に置換する

取り消し

[u]    ...直前の操作をやめる(u: Undo の意味)
[U]    ...行全体に操作を取りやめる

ビジュアルモード

ctrl + V でビジュアルモードに遷移。矩形選択しxで選択箇所の削除など可能。

終了処理

終了
:q    …書込みを行わず終了(quitの意味)
:q!    ...書込みを行わず強制終了
:wq    ...書込み後終了
:wq!    ...書込み後強制終了

色分けされていたほうが見やすいので、Vimを推奨されている方もいますが、
基本的な操作方法についてはViもVimも同じです。

y-araki-qiita
たぶんインフラエンジニアです。- 個人の見解を記載しているため所属団体とは関係ありません。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした