「Vi」の版間の差分
ナビゲーションに移動
検索に移動
1行目: | 1行目: | ||
− | ==vi== | + | ==[[vi]]== |
− | *vi tips | + | *[[vi tips]] |
===コマンド体系=== | ===コマンド体系=== | ||
大きく以下の3つに分けられる | 大きく以下の3つに分けられる | ||
====カーソル移動系==== | ====カーソル移動系==== | ||
− | ====[vi テキスト編集コマンド] | + | ====[[vi テキスト編集コマンド|テキスト編集]]==== |
====ラインエディタの便利さを提供するexコマンド==== | ====ラインエディタの便利さを提供するexコマンド==== | ||
====テキスト入力系==== | ====テキスト入力系==== | ||
− | *http://www.ritsumei.ac.jp/~tomori/vi.html | + | *http://www.ritsumei.ac.jp/~tomori/[[vi]].html |
{|class="wikitable" | {|class="wikitable" | ||
!コマンド | !コマンド | ||
40行目: | 40行目: | ||
===カーソル移動=== | ===カーソル移動=== | ||
コマンドモードで、以下のキーを押す | コマンドモードで、以下のキーを押す | ||
− | [[ | + | {{ref_image [[vi]]_key_dirction.JPG}} |
*最初に数値を入力することにより、(3lなど)移動量を指定できる。 | *最初に数値を入力することにより、(3lなど)移動量を指定できる。 | ||
160行目: | 160行目: | ||
*"*"、"."はメタキャラクタ | *"*"、"."はメタキャラクタ | ||
− | ==== | + | ====viの[[正規表現]]==== |
{|class="wikitable" | {|class="wikitable" | ||
!文字 | !文字 | ||
271行目: | 271行目: | ||
|} | |} | ||
− | ===文字コード=== | + | ===[[文字コード]]=== |
− | + | [[Category:文字化け]] | |
− | *http://www.kawaz.jp/pukiwiki/? | + | *http://www.kawaz.jp/pukiwiki/?[[vi]]m#cb691f26 |
− | ==== | + | ====[[文字コード]]を指定してファイルを開きなおす==== |
:e ++enc=euc-jp | :e ++enc=euc-jp | ||
− | ==== | + | ====[[文字コード]]を変更して保存する==== |
:set fileencoding=cp932 | :set fileencoding=cp932 | ||
====改行コードを変更する==== | ====改行コードを変更する==== |
2020年2月16日 (日) 04:33時点における版
vi
コマンド体系
大きく以下の3つに分けられる
カーソル移動系
テキスト編集
ラインエディタの便利さを提供するexコマンド
テキスト入力系
コマンド | 内容 |
---|---|
i | カーソルの左に文字を挿入 |
I | カーソル行の行頭に文字を挿入 |
a | カーソルの右に文字を挿入 |
A | カーソル行の行末に文字を挿入 |
o | カーソル行の下の行に空行を作って文字を挿入 |
O | カーソル行の上の行に空行を作って文字を挿入 |
c系 | 対象文字列を消して文字を挿入(つまり、変更) |
C | カーソル位置から行末までを消して文字を挿入 |
カーソル移動
コマンドモードで、以下のキーを押す {{ref_image vi_key_dirction.JPG}}
- 最初に数値を入力することにより、(3lなど)移動量を指定できる。
位置移動
Key | 内容 | 補足 |
---|---|---|
0 | 行頭へ | |
$ | 行末へ | |
指定したカラムへ |
内容を考慮した移動
先頭に数値で、指定数分移動
Key | 内容 | 補足 |
---|---|---|
w | 一単語次へ | 特殊記号区切り |
b | 一単語前へ | 特殊記号区切り |
W | 一単語次へ | 空白区切り |
B | 一単語前へ | 空白区切り |
{ | 一段落次へ | 空白区切り |
|一段落前へ |空白区切り |- |% |対応した括弧へ | |- |`[任意のアルファベット1文字] |:m alpha でカーソル位置をマーキング |- |}
スクロール
先頭に数値で、指定数分移動
Key | 内容 | 補足 |
---|---|---|
H | 画面上からn行目へ移動 | デフォルト 0 |
M | 画面中央へ移動 | |
L | 画面下からn行目へ移動 | デフォルト 0 |
G | 最終行へ | |
Ctrl+b | 前ページ | |
Ctrl+f | 次ページ | |
Ctrl+u | 半ページ上 | |
Ctrl+d | 半ページ下 |
検索
コマンドモードで、"/" もしくは、"?" 押下。最下段で検索後を入力してエンターキー押下
Key | 内容 |
---|---|
/ | 後方に向かって検索 |
? | 前方に向かって検索 |
- 検索後、"n" で同方向に再検索。"N"で逆方向に再検索。
- "*"、"."はメタキャラクタ
viの正規表現
文字 | 内容 |
---|---|
. | 1文字 |
* | 前の文字の繰り返し |
^ | 行頭 |
$ | 行末 |
< | 単語の先頭 |
> | 単語の末尾 |
\ | メタキャラクタのエスケープ |
[CharSet] | CharSetの中の一文字 |
[^CharSet] | CharSetに含まれない一文字 |
置換
コマンドモードで、
:%s/oldstr/newstr/g
とする。文字列に "/"が含まれる場合、
:%s;oldstr;newstr;g
のように"/"を別の文字に変更する
削除、移動、コピー、取り消し
コマンドモードで、以下を行う
Key | 内容 | 補足 |
---|---|---|
x | カーソルの1文字を削除 | 3xとすると、3文字削除される |
dd | 1行削除 | 3ddとすると、3行削除される |
J | 次の行と結合 | |
v | 範囲選択(文字単位) | 範囲選択しdで、範囲削除 |
V | 範囲選択(行単位) | 範囲選択しdで、範囲削除 |
ctrl+v | 範囲選択(矩形) | 範囲選択しdで、範囲削除 |
p | ペースト | xやddで削除した文字列の貼り付け |
カットアンドペーストの方法
<blockquote>ctrl+v ~ d で削除した文字列は、バッファに格納される。削除とペーストを組み合わせることでカットアンドペーストを実現</blockquote>
ファイル内容の読み込み
読み込みたい場所にカーソルを移動し、以下
:r filename
保存と終了
Key | 内容 | 説明 |
---|---|---|
w | 保存 | ファイル名を指定して保存する場合、:w filename |
w! | ファイル内容を強制保存 | |
wq | ファイル内容を保存して終了 | |
q! | ファイル内容を保存せず終了 |
文字コード
- http://www.kawaz.jp/pukiwiki/?vim#cb691f26
文字コードを指定してファイルを開きなおす
:e ++enc=euc-jp
文字コードを変更して保存する
:set fileencoding=cp932
改行コードを変更する
:set fileformat=改行コードの種類(dos, max, unix)
多くは、以下の書籍からのメモです。 非常に丁寧、網羅的に説明されていて、助かります。
© 2006 矢木浩人