マインドマップギャラリー VIMエディタの使用法
vimエディタの使い方やショートカットキーなどを詳しく紹介していますので、興味のある方は参考にしてください。
2023-11-27 15:02:34 に編集されましたVIMの使用法
ノーマルモード
ローミング
左へh
jダウン
いいよ
私は右へ
w 次の単語の先頭にジャンプします
W は w に似ており、空白文字の間隔でジャンプします。
e 次の単語の末尾にジャンプします
E は e に似ており、空白の間隔でジャンプします。
b 前の単語の先頭にジャンプします
B は b に似ており、空白記号の間隔でジャンプします。
100h は 100 文字左に移動し、100j は 100 行下に移動します。
0 行頭へジャンプ
^ 行頭の空でない最初の文字にジャンプします。
$ 行末にジャンプ
gg はファイルの最初の行の先頭にジャンプします
G ファイルの最終行の末尾に素早く移動します
% は、(,{,[ を含む) 括弧の動きに一致します。
*|# は現在カーソルが置かれている単語に一致し、* は次の単語、# は前の単語にカーソルを移動します。
ctrl f 次のページのコンテンツを表示します
ctrl b 前のページの内容を表示します
100G 100行目の先頭にジャンプ
`. テキスト内の最後に変更されたポイントにジャンプします。
'。最後に変更されたテキスト行にジャンプします。
` 最新の 2 つの変更位置にジャンプ
. はテキストの最後に変更された位置を示します。
g; ドキュメントの変更リスト全体内を前後に移動します。
g、g と同様、反対方向。
変更リストには、ドキュメントが変更された場所が記録されます。
Ctrl O 前の位置にジャンプ
Ctrlキーを押して次の場所にジャンプします
一緒に使用すると、コード間をジャンプできます
コピー
yy はカーソルが置かれている行全体をコピーします
100yy は、カーソルが置かれている行とその下の合計 100 行をコピーします。
yw はカーソルで始まる最初の単語をコピーします
y$ はカーソルを行末にコピーします
yG はカーソルがある行をテキストの末尾までコピーします
yH テキストを先頭からカーソルのある行までコピーします。
fa はカーソルをこの行の次の文字に移動します
Fa はカーソルを文字 a に移動します。
nfa はカーソルを次の n 番目の文字に移動します。
nFa はカーソルを n 番目の文字に移動します。
ta は、カーソルを a 文字の前の文字に移動します。
nta はカーソルを n 番目の文字の前の文字に移動します
Ta は、カーソルを a 文字の後の文字に移動します。
nTa は、n 番目の文字が表示された後、1 文字先に進みます。
yfB は、カーソルを最初の大文字 B の間のコンテンツにコピーします。
y2fB は、カーソルを 2 番目の大文字 B の間のコンテンツにコピーします。
カット
x は 1 文字を後方に切り取り、それが行末の場合は前方に切り取ります。
3x カット 3
xp は、bs プログラミング sb の場合、非行の末尾の 2 文字を交換します。
消去
dd はカーソル下の行を削除します
200dd はカーソルのある行とその下の合計 100 行を削除します。
dw 単語を削除します
dnw n 個の単語を削除
df" 最初の二重引用符が表示される位置まで削除します
dnf" n 番目の二重引用符が出現する位置まで削除
d$ はカーソルを行末まで削除します
d^ カーソルを行頭まで削除します
dH は、テキストの先頭からカーソルが置かれている行までのテキストを削除します。
dG カーソル下の行をテキストの末尾まで削除します
ペースト
p コピーまたは切り取ったコンテンツを貼り付けます
3p コピーまたは切り取ったコンテンツを 3 回貼り付けます
P はカーソルの前から貼り付けを開始します
3P カーソルの前から3回貼り付けを開始します
インデント
<< 左インデント
>> 右インデント
ブロックのインデントはブロック選択で実現できます
ウィンドウコマンド
Ctrlを押しながらウィンドウを水平に分割
Ctrl w w ウィンドウを切り替える
ctrl w q 現在の分割画面を閉じます。最後の分割画面の場合は、VIM を終了します。
Ctrl W C 現在の分割画面を閉じます
ctrl w v ウィンドウを垂直に分割
ctrl j|k を使用して、上部ウィンドウと下部ウィンドウを切り替えることができます。
ctrl h|l を使用して水平ウィンドウを切り替えることができます
Ctrl + H|L を使用して、現在の分割画面を左右に移動できます
Ctrl W J|K で現在の分割画面を上下に移動できます
ファイルの保存
ZZ 大文字 ZZ、現在のファイルを保存します
ZQ 大文字の ZQ、ファイルへの変更を破棄して終了します。
元に戻して復元する
u 前の操作を元に戻す
Ctrl R 元に戻す 元に戻す操作
文字を削除して置き換える
x は現在カーソルがある文字を削除します
r は現在カーソルが置かれている文字を置き換えます
<ESC> が終了しない限り、R はカーソルから始まるすべての文字を置き換えます。
大文字と小文字の変換
~ カーソルの下の文字の大文字と小文字を変更します
3~ カーソル位置から始まる 3 文字の大文字と小文字を変更します
g~~ 現在の行の文字の大文字と小文字を変更します
gUU 現在の行の文字を大文字に変更します
guu は現在の行の文字を小文字に変更します
3gUU は、カーソルの下の 3 行の文字を大文字に変更します。
gUw カーソルの下の単語を大文字に変更します
guw はカーソル下の単語を小文字に変更します
折りたたみ機能
zf5G は、現在のカーソル行を 5 行目に折り畳みます。行番号またはテキスト選択によって折り畳むことができます。
zo はカーソル位置で折り目を開きます
zO は、カーソル位置の折り目とすべてのネストされた折り目を開きます。
zc はカーソル位置で折り目を閉じます
zC は、カーソル位置の折り畳みとすべてのネストされた折り畳みを閉じます。
zdはカーソル位置の折り目を削除します
zD は、カーソル位置の折り目とすべてのネストされた折り目を削除します
za カーソルが閉じた折り目にある場合は折り目を開き、それ以外の場合は折り目を閉じます
zA は za に似ており、ネストされたフォールドを含むすべてのフォールドを開いたり閉じたりします。
zv は、現在のカーソル位置で折り目を開きます。カーソルが置かれている行が折り畳まれないように十分な折り目だけを開きます。
zr 入れ子になった折り目はレイヤーごとに開かれます
zR すべての折り目を開く
zm ネストされた折り目はレイヤーごとに閉じられます
zM すべての折り目を閉じる
zM と zR では、foldlevel という変数が操作され、すべてのフォールドを閉じると、foldlevel が 0 に設定されます。
zE はすべての折り目を削除します
zF は、現在カーソルの下にある線に折り目を作成します。この方法では、最初に折り記号のペアを作成してから、その中にコンテンツを書き込むことができます。
2,10fo は 2 行目を 10 行目に折り畳みます。
[z現在開いている折りの開始位置にカーソルを移動
]z カーソルを現在開いている折り目の終了位置に移動します
zj はカーソルを次の折り目の開始位置に移動します
zk はカーソルを前の折り目の末尾に移動します
マクロの記録と再生
マクロを記録するには、通常モードで q キーを押してから (q キーでマクロの記録が開始されます)、文字 w (文字はオプション) を押します。これは、マクロが w として登録されることを意味し、その後、もう一度 q を押します。操作を完了して記録操作を完了します。
マクロ再生、通常モードで @w を押すと、マクロ記録のすべての操作が実行されます。 @@ は、最後のマクロの繰り返し操作です。 n@w の場合、w マクロは n 回実行されます。
コードブロックのコメント
ESC を押して通常モードに入り、Ctrl V を押してビジュアル ブロック選択モードに入り、コメントする行を選択し、Shift i または s を押して挿入モードに入り、ブロック選択の最初の行の先頭にコメント記号 # を入力します。次に ESC を押してしばらく待ちます。 コード ブロックのコメントを完成させることができます。このメソッドを使用すると、各行の指定された位置に同じ文字を挿入できます。
コメントを解除するには、ESC キーを押して通常モードに入り、CTRL V を押してビジュアル ブロック モードに入り、コード ブロック行の先頭にあるコメントを選択し、d キーを押してコメント解除を完了します。
g ctrl g バイト統計、最後の ctrl g はキーの組み合わせです
ggvG= フォーマットコード
「0p 複数貼り付け、最後にコピーされました」、登録します
コマンドモード
:%s/$/sth/ 行末に sth を追加します
:%s/^M//g は dos 改行文字を置き換えます。^M は Ctrl v Ctrl m を使用して入力できます
:g/^/s*$/d 空行とスペースだけの行を削除
:n1,n2 s/str1/str2/gic 行番号 n1 から n2 の間の文字列 str1 を str2 に置き換えます。 g キーワードは、行内に複数の文字列がある場合、g がない場合はすべて置き換えることを意味します。最初のキーワードは置換されます。i キーワードは大文字と小文字を区別しないこと、つまり大文字と小文字を無視することを意味し、大文字の I は大文字と小文字を区別することを意味し、これもデフォルトです。 c キーワードは置換前の確認を示します。各キーワードは個別に使用できます
:%s/#.*//g # 以降の文字を削除
形式は [addr]s/ソース文字列/宛先文字列/[オプション] です。 「s」は置換演算を表し、「substitute」の略です。 [アドレス]には以下が含まれます: 「n,m」:n行目からm行目までを示します。 「%」: ファイル全体を表し、「1,$」に相当します。 ".,$": 現在行からファイルの末尾までを示します [オプション]には以下が含まれます: "g":globe はグローバル置換を意味します "c":confirm は置換前の対話型確認を意味します 「p」: 行ごとの表示を示します (CTRL L を押すと画面を元に戻すことができます) "i": 無視します。大文字と小文字は区別されません 省略した場合は、最初に一致した文字列を置換することを意味します。
/hansen は文字列 hansen を検索し、n は次の一致を検索し、N は前の一致を検索し、2n は以下の 2 番目の一致を検索します。
:help set set コマンドのヘルプ情報を表示します。
:set は、システムのデフォルト値とは異なる設定パラメータ、つまり変更した設定を表示します。
:syntax on|off プログラムの構文強調表示のオンとオフを切り替えます。
:set bg=dark|light 異なる背景色を設定します
ファイル操作
:w 編集した内容をファイルに書き込みます
:w! ファイルが読み取り専用状態の場合、ファイルへの書き込みを強制します。実際の書き込みはドキュメントの権限に依存します。
:q vim を離れる
:qa! すべてのファイルを終了し、変更せずにすべてのファイルを保存します。
:x ファイルを終了し、ファイルへの変更を保存します
:e fn 別のファイルを開きます
:n 次のファイルにジャンプします
:N 前のファイルにジャンプします
:bn 次のファイルにジャンプします
:bp 前のファイルにジャンプします
:ls 開いているすべてのファイルをリストします
:b2 は 2 番目のファイルを表示します
:q! 変更されたファイルを終了し、すべての変更を破棄します。
:wq 保存後に終了
:w fn ファイルをファイル名 fn で保存
:r fn fn ファイルを読み取り、現在編集中のファイルのカーソルに追加します。
:n1, n2 w fn n1 から n2 までの内容を fn ファイルとして保存します
:n1,n2 d n1 行目から n2 行目までの内容をすべて削除します。d は削除キーワードです
:! コマンドはエディタを終了してコマンドを実行すると表示されます。
:r! コマンドはコマンドを実行し、実行結果をカーソルの後に追加します。
:sp fn1 画面を上下に分割して別のファイルを開く
:vsp fn1 画面を左右に分割して別のファイルを開く
:set nu は行番号の表示をオンにします
:set hlsearch 検索されたキーワードがハイライト表示されます
:set autoindent は自動インデントをオンにします
:set カーソルラインは水平線をオンにします
:set back ファイルを自動的に保存するかどうか。オンにすると、編集のためにファイルが開かれるたびに、元のファイルに fn~ という名前が付けられます。
:set Ruler は、右下隅のステータス バーの説明を開いたり閉じたりします。
:set ic は、キーワードを検索するときに大文字と小文字を区別します。
:set showmode は、モード切り替え後の状態をオンまたはオフにします。たとえば、挿入モードに入ると、左下隅に --INSERT-- が表示されます。
:set Wrap は行の折り返しを設定します。つまり、テキスト行が画面を超えて次の行に表示されます。これもデフォルトです。
:set Spell テキストのスペル検出をオンにします
:set list は、改行などのテキスト内の非表示文字を表示します。
パラメータの前に no を追加すると、行番号の表示をオフにするには nonu を設定するなど、逆の設定を実現できます。
:set backspace=(012) 編集モードに入る バックスペースを使用してキーを押すと文字を削除できますが、一部のディストリビューションではこれが許可されていません。このとき、バックスペースを =2 に設定すると、=0|1 の場合、入力された文字のみが削除され、元のテキストに存在する文字は削除されません。
:set fdm=marker は折り目マークをオンにし、折り目の先頭と末尾にマーカーとして 3 つの連続した中括弧を自動的に追加します。テキストを閉じた後も、この環境を設定する必要があります。これは ~/.vimrc に追加され、vim エディターが開かれるたびに自動的にロードされます。マークの後ろに折りたたまれた「#comments{{{1」にコメントとレベル番号を追加できます
:set fenc クエリドキュメントのエンコーディング
:set enc=utf8 指定されたエンコーディングに変換します
:set fileformat=unix は改行文字を切り替えるために使用され、dos、unix、および mac をサポートします。ファイル形式は ff と省略できます。
:setsidescroll=0 カーソルが画面の端に達すると、画面のテキストの 1/2 を自動的に拡大して表示します。1 に設定すると、文字ごとの拡大表示がよりスムーズになります。この設定には、nowrap の設定が必要です。
:setscrolloff=3 スクロール行数を設定します
:set linebreak は、適切な位置で改行するように VIM を設定します。つまり、^|!*-;:./? これらの記号は改行します。
:set Breakat-=_ 改行からアンダースコアを削除するように設定します
:set showbreak=-> ブレーク位置に命令を表示
:set nolinebreak カスタム改行を復元します
折り目を設定するには、gj または g<下> で折り目内を移動し、gk または g<上> で上に移動します。
:set ts=4 は、TAB を 4 つのスペースの長さに設定します
:set Expandtab は TAB をスペースに置き換えます。設定後、タブは ts 個のスペースに置き換えられます。
%retab! 元の TAB が ts 個のスペースに置き換えられるように TAB を再ロードします
TAB をスペースに置き換えてください。空白以外の文字の後に TAB を処理するために使用されます。つまり、追加されていない場合はすべての TAB です。の場合、行頭の TAB のみが処理されます。
:set ts=4
:noexpandtab を設定します
:%リタブ!
スペースをTABに置き換えます
tabe fn VIM プラグイン ミニバッファを使用して、新しいタブ ページを作成し、新しいタブ ページでファイル fn を編集します。
gt 次のタブに切り替えます
gT 前のタブに切り替えます
:tabr 最初のタブページに切り替えます
:tabl は最後のタブに切り替えます
:tabm [N] 現在のタブを N 番目のタブの後に移動します
:map ^M I#<ESC> ショートカットキー Ctrl m を設定すると、カーソルのある行の先頭に # (# はコメント) が挿入され、編集状態が終了します。 map はキーワードであり、その後にキーと値が続きます。このキーは ^M に対応します。このキーは、ショートカット キー Ctrl M を表す Ctrl v M によって入力されます。値は I#<ESC> に対応し、これらのショートカット キーを順番に実行することを意味します。 I はカーソルを行頭に切り替えて編集状態に入る、# は # を入力する、<ESC> は編集状態を終了することを意味します。
:ab email hualong1009@foxmail.com ab はキーワードです。コマンドを実行すると、メールアドレスが hualong1009@foxmail.com に自動的に置き換えられます。同じ長い文字列を頻繁に入力するシナリオに適しています
:sort r /regex/ regex は、vim エディターでテキストをソートするための正規表現です。
:toHTML 現在のページを HTML に変換します
:reg すべてのレジスタのステータスを表示します。 レジスタは、テキストや操作の詳細を保存するために Vim によって使用されるメモリ空間です。各スペースには識別子があり、後でアクセスできるようになります。
挿入モード
ctrl [または ctrl c キーの組み合わせは ESC キー機能を実現します。つまり、編集状態を終了します。
Ctrl D キーの組み合わせ 左インデント
Ctrl T キーの組み合わせ 右インデント
キーワードとパスの補完
ctrl x -> ctrl n は、現在編集中のファイルの内容をキー ライブラリの補完として使用します
ctrl n を使用すると、プロンプトを表示せずにすばやく完了することもできます。
ctrl x -> ctrl f は、現在のディレクトリ内のファイルをキーワードとして使用して、パス ファイルを完成させます
ctrl x -> ctrl o はファイル名を構文の補足として使用し、wim の組み込みキーワードで補完します。
Ctrl x i 行補完
Ctrl W カーソル位置より前の単語を削除します
ctrl u カーソル位置を行頭まで削除します
ビジュアルモード
矢印キーまたは h、j、k、l を使用して、対応するコンテンツを移動して選択します。gg と G を使用して、ファイルの先頭または末尾に直接移動することもできます。
ctrl v ブロックモード、ブロック操作、UE のブロック操作と同じ
o カーソルを選択したブロックのもう一方の端点にジャンプします。
U 選択したブロックの内容を大文字に変換します
O はカーソルをブロックの反対側の端にジャンプします
ああ、単語を選択します
ab は、括弧自体を含む、{} 括弧内のすべてを選択します
aB {} 括弧内をすべて選択します
ib は、括弧を除いた括弧内のコンテンツを選択します
iB は括弧内のすべてを選択します
va カーソルが "",'',(),{},[] 内にある場合、va は二重引用符を含む "" 内のすべての内容を選択することを意味します。
vi カーソルが "",'',(),{},[] 内にある場合、va は二重引用符なしで "" 内のすべての内容を選択することを意味します。
> 右シフトをブロック
< ブロック左シフト
y コピーブロック
d ブロックを削除する
~ ブロック内のコンテンツの大文字と小文字を切り替えます
このモードでは、直接入力します: 領域を選択した後、VIM は次のように自動的に完成します: '<,'> これは、ビジュアル モードでの選択範囲の置換操作であり、n1、n2 の計算と同様に操作範囲を示します。
vim編集テキスト
vim ファイル ファイルを編集する
vim fn1 fn2 ... 複数のファイルを同時に編集します。デフォルトでは、最初のファイル (file1) のみが表示されます。
vim -on fn1 fn2 ... 画面を上下に分割して複数のファイルを同時に編集します
vim -On fn1 fn2 ... 複数のファイルを左右の分割画面で開きます
vim -b ...ドキュメントをバイナリで開きます
vim num はドキュメントを開き、num 行を見つけます。
vimdiff a.txt b.txt テキストの比較
vimdiff テキストの比較
zc 折りたたみ行
ゾ 開いた折り目
]c 次の相違点にジャンプします
[c 前の差異にジャンプします
Ctrl w w ウィンドウを左右または上下に切り替えます
dp は、カーソルがある行を別のファイルの対応する行にコピーします。
do 比較ファイルに該当する行をカーソル位置の行にコピーします