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

viでよく使うコマンドメモ

More than 1 year has passed since last update.

前提

viは入力コマンドモードがある、入力モードがらコマンドモードに切り替える際はEscを押下する、コマンドモードから入力モードへの切り替え方は下記に記載する。

起動

  • 編集対象のファイルを開く

    vi ファイル名 
    

移動

  • 左に移動

    h
    
  • 右に移動

    l
    
  • 上に移動

    k
    
  • 下に移動

    j
    
  • 画面の最上行に移動

    H
    
  • 画面の中央行に移動

    M
    
  • 画面の最下行に移動

    L
    
  • ファイルの最終行に移動

    G
    
  • ファイルのn行目に移動

    nG
    
  • 行の頭へ移動

    0
    
  • 行の最後へ移動

    $
    

入力(入力モードへの切り替え)

  • カーソルの右から入力開始

    a
    
  • 行末から入力開始

    A
    
  • カーソルの左から入力開始

    i
    
  • 行頭から入力開始

    I
    
  • 現在の行の下に1行挿入し、その行頭から入力開始

    o
    
  • 現在の行の上に1行挿入し、その行頭から入力開始

    O
    

削除

  • カーソル上の1文字削除

    x
    
  • カーソルの左の文字を1文字削除

    X
    
  • 現在の行を削除(バッファにコピーされる)

    dd
    
  • n 行、削除

    ndd
    
  • カーソル上の一語を削除

    dw
    
  • カーソル位置から指定した字 までを削除

    df 字
    
  • カーソル位置から行の最後までを削除

    d$
    
  • カーソル位置から行の先頭までを削除

    d^
    

検索

  • 文字列 を検索する

    /<文字列>
    
  • 文字列を検索する(逆方向)

    ?<文字列>
    
  • 順方向へ検索する

    n
    
  • 逆方向へ検索する

    N
    

置換

  • カーソル上の1文字を他の1文字に置換

    r
    
  • カーソル上の文字からEscが押されるまでの文字列を置換

    R
    
  • カーソルのある1文字を他の文字列で置換

    s
    
  • 現在の行を他の文字列で置換

    S
    
  • カーソル位置からこの語の最後までを置換

    cw
    
  • カーソル位置から指定した字 までを置換

    cf 字
    
  • カーソル位置から行の最後までを置換

    C
    
  • 直前のsコマンドの繰り返し

    :&, &
    
  • 大文字/小文字を変更する

    ~ (チルダ)
    

カット&ペースト

  • 現在の行をバッファにコピー

    yy
    
  • n 行分をバッファにコピー

    nyy
    
  • 単語をバッファにコピー

    yw
    
  • バッファ内のテキストを挿入(文字、単語はカーソルの右に、行は現在の行の下に挿入される)

    p
    
  • バッファ内のテキストを挿入(挿入位置はpの逆。文字、単語はカーソルの左に、行は現在の行の上に挿入される)

    P   
    

Undo・Red

  • 直前の操作を取りやめる

    u
    
  • 行全体の操作を取りやめる

    U
    
  • 直前の操作の繰り返し

    .
    

終了

  • 保存して終了

    ZZ
    
  • 上書き保存

    :w(Enter)
    
  • 名前を付けて保存

    :w ファイル名(Enter)
    
  • 保存して終了

    :wq(Enter)
    
  • 保存せずに終了

    :q!(Enter)
    
  • 終了

    :q(Enter要)
    
  • ファイルを開く

    :e ファイル名(Enter要)
    

参考

http://www.ritsumei.ac.jp/~tomori/vi.html
http://hp.vector.co.jp/authors/VA016670/unix/vi_reference.html

おわりに

他にも、コマンドはありますが、個人的によく使うコマンドのみを抜き出して、まとめました。

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
ユーザーは見つかりませんでした