1.はじめに
vim/vi (vim は vi から開発されたもの) は、Unix ライクなシステムで最も一般的に使用されている古典的なエディターとして、豊富な編集機能をプログラマーに提供し、熟練した使用後に編集の効率を大幅に向上させることができます。Vim は、使い始めたばかりの開発者にとって習得には多くの時間を要します.公式の vimも簡単に覚えられるようにさまざまな画像を提供していますが、vim の操作には、このツールを使いこなすために継続的な使用と熟練が必要です. その効率性と快適。
この記事では、必要に応じて表示するために vim で一般的に使用される基本的な操作を簡単にまとめます。いくつかの公式メモリ マップは次のとおりです。
2. vi/vim 編集モード
Vi/vim の編集は通常、コマンド モード、挿入モード、最終行モードの 3 つのモードに分けられます。モードが異なれば、文字の意味も異なります。
1. コマンドモード:
vi/vim を起動すると, まずコマンドモードに入ります. このモードで入力された文字はコマンドとして認識され, 実行するコマンドと照合されます. このモードで使用されるコマンドは, 例えば Enter キーを使わずに直接実行できます. 、 i を入力して直接編集モードに入ります。
2. 入力モード:
コマンドモードから i コマンドなどで入力モードに入り、テキストの編集や変更ができます ESC キーで入力モードから抜けて、コマンドモードに戻ります。
3. 最終的なコマンド モード:
使用: またはその他のコマンドを使用して、コマンド モードからボトム ライン コマンド モードに入ります。このモードでは、1 つまたは複数の文字コマンドを入力し、Enter キーを押して実行し、実行後に自動的にコマンド モードに戻ることができます。最下行のコマンド モードでは、いつでも ESC キーを押すことができます。終了して、コマンド モードに戻ります。
3. vi/vim コマンドの説明
1. コマンドモード:
- カーソルの動き:
ボタン | 関数 |
---|---|
h または ← | カーソルを 1 文字左に移動 |
か↓ | カーソルを 1 文字下に移動します |
k または ↑ | カーソルを 1 文字上に移動します |
l または → | カーソルを 1 文字右に移動 |
[数値] + hjkl (または ←↓ ↑→) | カーソルは特定の方向に num 文字移動します (たとえば、30j または 30↓ は 30 行下に移動することを意味します)。 |
[ctrl] + f | 画面を 1 ページ下に移動する |
[ctrl] + b | 画面を 1 ページ上に移動 |
[Ctrl] + d | 画面を半ページ下に移動 |
[ctrl] + u | 画面を半ページ上に移動 |
+ | スペース文字ではない次の行にカーソルを移動します |
- | スペース以外の文字の上の行にカーソルを移動します |
0 または [ホーム] | カーソルのある行の最初の文字に移動 |
$ または [終了] | カーソルがある行の最後の文字に移動 |
gg | カーソルがドキュメントの最初の行に移動します。これは 1G に相当します。 |
ひ | 画面最上行の最初の文字にカーソルが移動します |
M | カーソルが画面中央の行の最初の文字に移動します |
L | カーソルが置かれている画面の一番下の行の最初の文字にカーソルが移動します |
G | ドキュメントの最後の行にカーソルを移動します |
[数値] + G | カーソルをドキュメントの num 行に移動します (たとえば、20G はドキュメントの 20 行目に移動します)。 |
[数字] + [Enter] | カーソルを num 行下に移動します (たとえば、20 を入力して Enter キー [Enter] を押すと、カーソルが 20 行下に移動します) |
[数字] + [スペース] | カーソルを num 文字分右に移動します (たとえば、20 を入力した後にスペース バー [スペース] を押すと、カーソルが 20 文字分後方に移動します)。 |
- コピーアンドペースト:
ボタン | 関数 |
---|---|
バツ | 1文字後ろにカット |
バツ | 1文字前にカット |
[数] + x | n 文字後方を削除 (たとえば、20x は 20 文字後方を削除します) |
p | コピーしたデータをカーソルの下の行に貼り付けます |
P | コピーしたデータをカーソルの上の行に貼り付けます |
J | カーソルのある行と次の行のデータを1行にまとめる |
[数値] + cc/cj | 下の num 行を削除します (たとえば、20cc または 20cj は下の 20 行を削除します。注意: 削除後に入力モードに入ります)。 |
dd | カーソルのある行をカット |
[数値] + dd | num 行を削減します (たとえば、20dd は 20 行削減します) |
dG | カーソルのある行から最終行までをすべて削除 |
d1G | カーソルのある行から最初の行までをすべて削除 |
日$ | カーソルのある行から最後の文字まですべて削除 |
d0 | カーソルのある行から最初の文字までをすべて削除 |
yy | カーソルのある行をコピー |
[数値] + 年 | num 行下にコピーします (たとえば、20yy は 20 行下にコピーします) |
yG | カーソルのある行から最終行までをコピー |
y1G | カーソルのある行から最初の行まですべてコピー |
y$ | カーソルのある行から最後の文字まですべてコピー |
y0 | カーソルがある行から最初の文字まですべてをコピーします |
. | 前の操作を繰り返す |
あなた | 前の操作を繰り返す |
[ctrl] + r | 最後のアクションをやり直す |
グーグー | ドキュメントを保存して強制終了する |
ZQ | ドキュメントを保存して強制終了しない |
- 検索して置換:
ボタン | 関数 |
---|---|
n | 最後の検索操作を繰り返す |
N | 最後の検索操作を逆にする |
/言葉 | 向光标之下寻找一个名称为 word 的字符串(例/cascatrix会向下寻找名为cascatrix字符串) |
?word | 向光标之上寻找一个名称为 word 的字符串(例/cascatrix会向上寻找名为cascatrix字符串) |
:n1,n2s/word1/word2/g | 在第 n1 与 n2 行之间寻找 word1 这个字符串并将该字符串取代为 word2(例:1,$s/carson/cascatrix/g 或 :%s/carson/cascatrix/g会从第一行到最后一行寻找名为carson的字符串并将该字符串取代为cascatrix) |
:n1,n2s/word1/word2/gc | 在第 n1 与 n2 行之间寻找 word1 这个字符串并将该字符串取代为 word2,取代前显示是否需要取代的确认提示(例:1,$s/carson/cascatrix/gc 或 :%s/carson/cascatrix/gc会从第一行到最后一行寻找名为carson的字符串并将该字符串取代为cascatrix,在取代前进行提示:是否需要取代) |
2. 输入模式:
命令模式与输入模式之间切换:
按键 | 功能 |
---|---|
i | 从当前光标所在位置开始输入 |
I | 从当前光标所在行的第一个非空格符号处开始输入 |
a | 从当前光标所在位置的下一个字符处开始输入 |
A | 从当前光标所在行的最后一个字符处开始输入 |
o | 从当前光标所在位置的下一行输入新的一行 |
O | 从当前光标所在位置的上一行输入新的一行 |
r | 取代当前光标所在位置的那一个字符一次 |
R | 取代当前光标所在位置的那一个字符,直到按下ESC退出替换 |
[ESC] | 退出输入模式,返回命令模式 |
输入模式编辑操作:
按键 | 功能 |
---|---|
[END] | 移动光标到行尾 |
[Home] | 移动光标到行首 |
[Enter] | 换行 |
[Delete] | 删除光标后一个字符 |
[Backspace] | 删除光标前一个字符 |
[Page Up] | 向上翻页 |
[Page Down] | 向下翻页 |
[Insert] | 切换光标为输入/替换模式,光标将变成竖线/下划线 |
方向键 | 移动光标 |
字符按键 | 输入字符 |
3. 底线命令模式:
按键 | 功能 |
---|---|
:w | 保存文档 |
:q | 退出文档 |
:w! | ドキュメントを強制保存する |
:q! | ドキュメントを強制終了 |
:wq | ドキュメントを保存して終了 |
:! 指図 | 一時的に vi インターフェイスを離れ、コマンド ライン モードに移動してコマンドを実行し、結果を表示します。 |
:r [ファイル名] | 編集データ内の別の文書のデータを読み込み、カーソル位置の行の後に文書ファイル名の内容を追加 |
:w [ファイル名] | 編集したデータを filename という名前の別のファイルとして保存します |
:n1,n2 w [ファイル名] | n1 から n2 の内容をファイル名として保存 このドキュメント |
:セットなし | 行番号を表示する 設定後、各行の先頭に行番号が表示されます。 |
:セットナイン | 行番号の取り消し、表示されている行番号の取り消し |