vi 1

viのコマンド

viには多くのコマンドがあるが、その中から覚えておくと便利なコマンドについて練習して行こう。
viには非常に多くのコマンド・機能があるので、すべてを紹介するのは不可能だが 基本的な、ぜひ覚えておいて欲しいコマンドを中心に紹介してゆく。

サンプルデータ

まず、練習用にサンプルのデータファイルをunixディレクトリに保存する。

  1. 上のサンプルデータをマウス右ボタンでクリックする。
  2. 出て来たメニューから「リンクを名前を付けて保存」を選ぶ。
  3. 表示されたファイルダイアログの「ドキュメントの保存形式」を「テキスト」にする。
  4. 「選択」の部分をunixディレクトリのtest1.cというファイル名に変更して「OK」ボタンを押す。

カーソル移動コマンド

カーソル移動コマンドはviで最も良く使うコマンドなのであり、作業効率を大きく左右する。
カーソルを移動する場合、h, j, k, l 以外のコマンドを知っておくと素早く移動できる。

Ctrl+f
1画面分進む
Ctrl+b
1画面分もどる
:行番号
行番号G
行番号の行へ移動する。
行数を打たないでGだけを打ち込むとそのファイルの最後の行へ移動する。
w
一単語分、右へ移動。
b
一単語分、左へ移動。
0
行の先頭へ移動。
$
行末へ移動。
%
対応する括弧に移動
( ), { }, [ ]などの一方の括弧にカーソルを置いて、このコマンドを 使用すると対応する括弧にカーソルが移動する。 もし、対応する括弧が無ければ移動しない。

サーチコマンド

特定の文字列を探す時は以下のサーチコマンドを使用すると効率が良い。

/文字列/
下方向に文字列をサーチ
?文字列?
上方向に文字列をサーチ
n
同じ文字列を同じ方向にサーチ( /文字列/または ?文字列?の後で有効)
N
同じ文字列を反対方向にサーチ( /文字列/または ?文字列?の後で有効)
f
右方向に文字を探す(1行中のみ)
F
左方向に文字を探す(1行中のみ)
;
同じ文字をもう一度探す(1行中のみ)

削除コマンド

文字の削除もxddだけではなく様々なコマンドの使い方を覚えておくと良い。

(文字数)x
文字数分削除
(行数)dd
カーソルのある行から、指定された行数だけ削除する。
d
カーソルのある位置から、指定された所まで削除する。
D
カーソルのある位置から行末までを削除する。

dコマンドの例

3x
カーソルのある位置から、3文字分削除
5dd
カーソルのある行から、5行削除
d$
カーソルのある位置から行末( $ )までを削除 ( D コマンドと同じ )
dfb
カーソルのある位置から b という文字の部分( fb )までを削除

書き換えコマンド

(行数)cc
行数分書き換え
c(範囲)
範囲の部分を書き換え

c コマンドの例

5cc
カーソルのある行から5行分書き換える
cw
カーソルのある文字から一単語分(スペース、タブ、Enter、英数字以外の文字があるまで)書き換える
cfa
カーソルのある文字から文字 a があるところまで書き換える
cG
カーソルのある行からファイルの最後の行まで書き換える

便利なコマンド

J
行の連結
カーソルのある行とその下の行が連結されて1行になる。
(行数)Jと打ち込むと行数分だけJコマンドを繰り返したのと同じ結果になる。
. (ピリオド)
コマンドの繰り返し実行
直前に実行したコマンドをもう1度実行する。 連続してこのコマンドを使えば何度でも同じコマンドを実行できる。
ただし、繰り返し実行できるコマンドは文字列を挿入・消去・書き換えるコマンドである。
(カーソルを移動するコマンドは無視される)
u
コマンドの実行を取り消す。 (アンドゥ)
uを押した回数だけアンドゥが繰り返される。
アンドゥを取り消したい時はCtrl+rを押す。

練習課題

参考


Prev | Next
Home | Contents
abe@injapan.net