てみブログ

てみブログ

個人的な覚書用です

vi基本操作

ファイルの新規作成、編集

vi {ファイル名}

vi test.txt

※ファイルがなければ新規作成。あれば編集。

・読み取り専用で開く
view {ファイル名}

view test.txt

モードの切替

初期はコマンドモード。

入力 動作
i 編集モードに入る。(insert)
ESC コマンドモードに戻る。

終了、保存

コマンドモードで、

入力 動作
:w 上書き保存(write)
:wq 上書き保存して閉じる(write quit)
:q 閉じる(変更ありの場合は閉じられない。)
:q! 変更を破棄して閉じる

カット、コピー、ペースト

コマンドモードで、

入力 動作
dd 一行カット(delete)
yy 一行コピー(yank)
dw 一語カット(delete word)
yw 一語コピー(yank word)
p 貼り付け(paste)

範囲選択する場合は、

入力 動作
m* 現在の行をマーク(*に入れた記号でマークする)
d`* マーク行*から、現在の行までをカット
y`* マーク行*から、現在の行までをコピー

Startのsを使って、開始行でms、終了行でy`sを入力し、
pで貼り付けるような使い方。

入力 動作
o 1行改行されて、入力モードに移行する。
x 1文字削除
u 取り消し(undo)

カーソル操作

入力 動作
h
j
k
l
G ファイル末尾に移動
{数字}G {数字}行目に移動
% 文頭へ(Home)
0 文末へ(End)
w 次のワード
b 前のワード
Ctrl+F ページダウン
Ctrl+B ページアップ

Ctrl+sを押しちゃった時

(viじゃなくて、Linuxの仕様だけど、テキスト編集中にやっちゃいがちなのでこちらに書く。)
癖で保存しようとしてCtrl+sを押すと、スクロールロック状態になり、
入力ができない(入力した内容が画面に表示されない)状態になる。
Ctrl+qで解除する。

行数の表示非表示

デフォルトでは非表示。
コマンドモードで、

入力 動作
:set number 行数表示
:set nonumber 行数非表示