「Vi」の版間の差分
ナビゲーションに移動
検索に移動
(→設定) |
|||
(同じ利用者による、間の6版が非表示) | |||
1行目: | 1行目: | ||
− | ==vi== | + | {{amazon|4873110831}} |
− | *vi tips | + | ==[[vi]]== |
+ | *[[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行目: | 41行目: | ||
===カーソル移動=== | ===カーソル移動=== | ||
コマンドモードで、以下のキーを押す | コマンドモードで、以下のキーを押す | ||
− | [[ | + | {{ref_image [[vi]]_key_dirction.JPG}} |
*最初に数値を入力することにより、(3lなど)移動量を指定できる。 | *最初に数値を入力することにより、(3lなど)移動量を指定できる。 | ||
59行目: | 60行目: | ||
|[数値]| | |[数値]| | ||
|指定したカラムへ | |指定したカラムへ | ||
− | | | + | |数値を指定して、スペースキー |
|- | |- | ||
|} | |} | ||
160行目: | 161行目: | ||
*"*"、"."はメタキャラクタ | *"*"、"."はメタキャラクタ | ||
− | ==== | + | ====viの[[正規表現]]==== |
{|class="wikitable" | {|class="wikitable" | ||
!文字 | !文字 | ||
271行目: | 272行目: | ||
|} | |} | ||
− | ===文字コード=== | + | ===外部コマンドの実行=== |
− | + | ---- | |
− | *http://www.kawaz.jp/pukiwiki/? | + | <pre> |
− | ==== | + | :!コマンド |
+ | </pre> | ||
+ | ===設定=== | ||
+ | ---- | ||
+ | ====タブ幅を変える==== | ||
+ | <pre> | ||
+ | :set tabstop=タブ幅 | ||
+ | </pre> | ||
+ | |||
+ | ===[[文字コード]]=== | ||
+ | ---- | ||
+ | [[Category:文字化け]] | ||
+ | *http://www.kawaz.jp/pukiwiki/?[[vi]]m#cb691f26 | ||
+ | ====[[文字コード]]を指定してファイルを開きなおす==== | ||
:e ++enc=euc-jp | :e ++enc=euc-jp | ||
− | ==== | + | ====[[文字コード]]を変更して保存する==== |
:set fileencoding=cp932 | :set fileencoding=cp932 | ||
====改行コードを変更する==== | ====改行コードを変更する==== | ||
:set fileformat=改行コードの種類(dos, max, unix) | :set fileformat=改行コードの種類(dos, max, unix) | ||
− | + | ====[[文字コード]]を確認する==== | |
+ | *vi | ||
+ | <pre> | ||
+ | :se enc? | ||
+ | </pre> | ||
+ | *ファイル | ||
+ | <pre> | ||
+ | :se fenc? | ||
+ | </pre> | ||
---- | ---- |
2021年12月7日 (火) 14:01時点における最新版
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! | ファイル内容を保存せず終了 |
外部コマンドの実行
:!コマンド
設定
タブ幅を変える
:set tabstop=タブ幅
文字コード
- http://www.kawaz.jp/pukiwiki/?vim#cb691f26
文字コードを指定してファイルを開きなおす
:e ++enc=euc-jp
文字コードを変更して保存する
:set fileencoding=cp932
改行コードを変更する
:set fileformat=改行コードの種類(dos, max, unix)
文字コードを確認する
- vi
:se enc?
- ファイル
:se fenc?
多くは、以下の書籍からのメモです。 非常に丁寧、網羅的に説明されていて、助かります。
© 2006 矢木浩人