viエディタの使い方
提供:maruko2 Note.
基本操作
文字を編集する編集モードと、カーソルを移動したり保存したりするコマンドモードを切り替えながら操作する。
起動時はコマンドモード。コマンドモード時に編集モードへ切り替えるキーを押すことで、文字編集できるようになる。
編集モード時に esc キーを押すとコマンドモードに切り替わる。
| 終了・保存 | |
|---|---|
| :q | エディタを終了する。 |
| :q! | 変更箇所を保存せずに、エディタを終了する。 |
| :w | 保存する。 |
| :wq | 変更箇所を保存し、エディタを終了する。 |
| 編集モードへ切り替える | |
| i | カーソルの左から編集開始。 |
| I | カーソルのある行頭から編集開始。 |
| A | カーソルのある行末から編集開始。 |
| o | カーソルの下に1行追加し、追加した行から編集開始。 |
| O | カーソルの上に1行追加し、追加した行から編集開始。 |
| 削除・コピー・ペースト | |
| x | カーソル上の1文字削除。delete |
| X | カーソルの左の1文字削除。backspace |
| dd | カーソルのある1行削除。nd で n 行削除。 |
| yy | カーソルのある1行をコピー。nyy で n 行コピー。 |
| p | カーソルの下の行にペースト。 |
| カーソル移動 | |
|---|---|
| 0 | 行頭に移動。 |
| $ | 行末へ移動。 |
| 1G | 先頭業へ移動。 |
| G | 最終行へ移動。 |
| nnnG | nnn行目に移動。 |
| H | ページ内の先頭へ移動。 |
| L | ページ内の末尾へ移動。 |
| ctl + f | 次のページへ移動。 |
| ctl + b | 前のページへ移動。 |
| ctl + u | 前のページへ半分移動。 |
| ctl + d | 次のページへ半分移動。 |
| 検索 | |
| /正規表現 | 正規表現で検索する。 |
| n | 次を検索。 |
| N | 前を検索。 |
| その他 | |
|---|---|
| :set number | 行番号を表示する。 |
| :set nonumber | 行番号を表示しない。 |
| :set autoindent | 自動インデント。 |
| :set noautoindent | 自動インデントしない。 |
| :syntax on | シンタックスハイライトを有効にする。 |
CentOS の vi と vim
CentOS には vi と vim がインストールされている。
Scientific Linux 6.0 では次のようになっている。
[shell]# ls -l /bin/vi /usr/bin/vim -rwxr-xr-x 1 root root 771800 11月 25 22:46 2010 /bin/vi -rwxr-xr-x 1 root root 1971360 11月 25 22:46 2010 /usr/bin/vim
vi は vim-minimal パッケージに含まれるバイナリ。
[shell]# rpm -qif /bin/vi Name : vim-minimal Relocations: (not relocatable) Version : 7.2.411 Vendor: Scientific Linux Release : 1.4.el6 Build Date: 2010年11月25日 22時46分42秒
vim は vim-enhanced パッケージに含まれるバイナリ。
[shell]# rpm -qif /usr/bin/vim Name : vim-enhanced Relocations: (not relocatable) Version : 7.2.411 Vendor: Scientific Linux Release : 1.4.el6 Build Date: 2010年11月25日 22時46分42秒
さらに root 以外のユーザーは、alias vi='vim' になっているので、vi としても vim が起動する。
[shell]$ which vi alias vi='vim' /usr/bin/vim
root で常に vim を使うようにするには、.bashrc に登録しておく。
alias vi='vim'
関連サイト
- Open Vim - vim の操作方法をブラウザで学習できるサイト