vim の一般的な操作

Vim 作業モード

1. vim の 3 つの基本的な動作モード

Vim には、コマンド モード、最終行モード、編集モードという 3 つの基本的な作業モードがあります。これら 3 つの動作モードの概要については、以下を参照してください。

1.1. コマンドモード

vim を使用してファイルを開いた後、まずコマンド モードに入ります。これは vim エディターのエントリ モードです。コマンド モードでは、コピー、貼り付け、削除、位置、ページ送りなどのコマンドを使用して、ファイルに対して通常の編集操作を実行できます。

1.2. 最終行モード

最終行モードは vim エディターの終了です。vim を終了するには、最終行モードでなければなりません。最終行モードでは、ファイルの終了、ファイルの保存と終了などの操作を実行します。

1.3. 編集モード

通常のテキスト編集モード。

2. 3つのモードの切り替え動作

(1) vim はファイルを開くとコマンドモードに入りますが、他の 2 つのモードが相互に入るにはコマンドモードに戻る必要があります。

(2) コマンドモードで、i、I、o、O、a、A、r、R のいずれかの文字を押して編集モードに入ります。編集モードに入ると、下に INSERT または REPLACE という文字が表示されます。Esc キーを押します。キーを押して編集を終了し、モードを押してコマンドモードに戻ります。

(3) コマンドモードで、/、? のいずれかを押して、最終行モードに入ります。最終行モードは、ドキュメントまたは vim 環境上で、検索、読み取り、保存、置換、終了、などの操作が可能です。ライン番号などを表示します。

3. 3 つのモード間の切り替えの概略図

ここに画像の説明を挿入します
上の図に示すように、エスケープ キー esc、コロン キー:、文字キー i の 3 つのキーを柔軟に使用できる限り、vim の 3 つのモードを自由に切り替えることができます。

Vim の保存および終了コマンド

1. Vimの保存コマンド

1.1、:w コマンド、通常の保存

正式な英語名は「write」です。このコマンドの機能は、vim の起動時に指定されたファイルにメモリ バッファ内のデータを書き込むことです。このコマンドは編集したファイルの内容を保存しますが、vim エディターは終了しないことに注意してください。

1.2. :w! コマンド、強制保存

強制保存コマンド。元のファイルのアクセス権によってファイルへの書き込みが許可されていない場合 (たとえば、元のファイルが読み取り専用ファイルである場合)、このコマンドを使用して書き込みを強制できます。

2. Vim を保存してコマンドを終了します。

2.1、:wq コマンド、保存して終了

正式な英語名は「write & quit」です。このコマンドの機能は、vim の起動時に指定されたファイルにメモリ バッファー内のデータを書き込み、vim エディターを終了することです。

注: 別の方法として、ZZ コマンドを使用することもできます。ZZ は、睡眠中のいびきの音を表すのによく使用され、人が眠っていることを示します。vim で使用すると非常に鮮やかです。vim エディタを終了し、ファイルを再び邪魔しないように「スリープ」させます。

2.2. :wq! コマンドで強制的に保存して終了する

ファイルの内容を強制的に保存した後、vim エディタを終了します。このコマンドの機能は、vim の起動時に指定されたファイルにメモリ バッファ内のデータを強制的に書き込み、vim エディタを終了することです。

3. Vim 終了コマンド

3.1、:qコマンド

このコマンドは、編集を行わずに vim を終了する準備ができているときに使用できます。編集が完了した場合、vim はユーザーが「:q」コマンドを使用して終了することを許可せず、次の警告メッセージが出力されます: No write because last change (:quit! overrides)

3.2. :q! コマンド

vimエディタを強制終了し、編集処理結果を破棄します。変更したファイルの内容を保存する必要が本当にない場合は、「:q!」コマンドを入力して vim エディターを強制的に終了できます。

Vim ページめくりコマンド

ヒント: vim paging コマンドはコマンドラインモードである必要があります。vim
の 3 つのモードの切り替えは非常に簡単で、エスケープ キー esc、コロン キー:、および文字キー i の 3 つのキーを柔軟に使用できれば、vim の 3 つのモードを自由に切り替えることができます。詳細については、「Vim
作業モード」を参照してください。

vim エディターを使用してスクリプトを表示する場合、上下キーを押してドキュメントのコンテンツを表示するのは非常に効率的ではありません。特に緊急事態に遭遇したとき、vimのページめくりのショートカットキーをマスターしておくと仕事にとても役立ちます。vimのページ送りのショートカットキーコマンドは以下の通りです。

1. ページ全体をめくるコマンド

Ctrl + f キー (f の英語の完全なスペル: forward)
Ctrl + b キー (b の英語の完全なスペル: backward)

2. 半ページめくりコマンド

Ctrl + d キー (d の完全な英語のスペル: down)
Ctrl + u キー (u の完全な英語のスペル: up)

3. ヘッダーとフッターを見つけます

スクリプトの最初の行を直接表示するには、「0」と入力して Enter キーを押し、スクリプトの最後の行を直接表示するには、「$」と入力して Enter キーを押します。

ここに引用があります

注: $ は、終了を示すためによく使用されます。

Vim の検索と置換

vim には強力な文字列検索機能があります。vim で文字列を検索したい場合は、通常 / または ? に加えて検索する文字列を入力します。たとえば、user という単語を検索したい場合は、/user または ?/user と入力できます。どちらも違いは、前者は上から下に検索するのに対し、後者は下から上に検索することです。

1.vim検索文字列コマンド

1.1. 先頭から探す

在命令模式下,输入 :/ + 你要查找的字符,按下回车,可以看到vim把光标移动到该字符串处。

1.2. 最後から探す

コマンド モードで、「? + 検索する文字」を入力し、Enter キーを押して文字列または文字を検索します。

注: 「/」は下方向に検索し、「?」は上方向に検索し、キーボード定義では、「?」はたまたま「/」の上付き文字であることに注意してください。

1.3. 上下のマッチング

デフォルトでは、検索では現在のカーソルに最も近い一致結果が検索されます。次/前の検索結果に移動したい場合は、次のキーを使用します。

n – 次の一致を検索します

N – 以前の一致結果を検索します

1.4. ハイライトをオフにする

検索後、他のファイルを開いたところ、それらも強調表示されていることがわかりました。強調表示をオフにするにはどうすればよいですか?

コマンド モードで、「nohlsearch」と入力します。もちろん、「noh」と省略することもできます。

2. vim文字列の置換

検索と置換は、テキスト エディターの共通かつ重要な機能セットです。Vim は次のコマンド構造を使用して置換機能を実装します。

交換する

:s/old/new - 用new替换当前行第一个old。
:s/old/new/g - 用new替换当前行所有的old。
:n1,n2s/old/new/g - 用new替换文件n1行到n2行所有的old。
:%s/old/new/g - 用new替换文件中所有的old。
:%s/^/xxx/g - 在每一行的行首插入xxx,^表示行首。
:%s//xxx/g−在每一行的行尾插入xxx,/xxx/g−在每一行的行尾插入xxx,表示行尾。
所有替换命令末尾加上c,每个替换都将需要用户确认。 如:%s/old/new/gc,加上i则忽略大小写(ignore)。

g: グローバル置換
gc: 各置換の前に確認を要求します
。 gn: 置換関数を無視し、検索結果を強調表示します。

Vim 保存ファイル

1. ファイルをvimに保存し、ファイル名を設定します

場合によっては、vim コマンドを直接入力して編集モードに入ることがありますが、ファイルを編集した後、保存するときに次のプロンプトが表示されます: E32: ファイル名がありません

理由は、入力時にファイル名を入力せず、終了時にエラーが報告されたためです。名前のない vim ファイルを保存するにはどうすればよいですか? 以下の紹介文をご覧ください。

ステップ 1: 入力が完了したら、esc キーを押して入力モードを終了します。

ステップ 2: 入力モードから最終行モードに切り替えます。つまり、「w + ファイル パスとファイル名」と入力し、Enter キーを押します。例: :w test.txt

注意: vim は存在しないフォルダーを自動的に作成しません。手動で作成する必要があります。

2. Vim がデフォルトのパスを設定する

上記のように、「w test.txt」と入力すると、デフォルトではカレントディレクトリに保存されますが、指定したパスに保存するように設定することもできます。

_vimrc ファイルに追加する必要があります:

exec "cd " . fnameescape("/usr/tom/")

/usr/tom/ を必要なパスに置き換えると、vim で新しいファイルを作成した後、コマンド w + ファイル名を使用するだけで、定義されたパスにファイルが自動的に保存されます。

Vim ファイルの削除とクリア

ddコマンド

1. 一行削除

コマンド モードでは、
dd コマンドを使用すると、カーソルが置かれている行をすばやく削除できます。d
+上下矢印キーは、カーソルが置かれている行とその上下の行を削除します。d
+左右矢印キーは、1 文字を削除して、カーソルの左右。

2. 複数行のファイルを削除する

dコマンドはVimでよく使われるコマンドで、行の削除、文字の削除、切り取りなどができます。ファイルの内容をクリアする必要がある場合は、dd コマンドを使用してこれを実現できます。

複数行を削除する

:1,3d

1行目から3行目までを削除

現在の行より前の行をすべて削除します

:1,.-1d

現在の行以降の行をすべて削除します

:.+1,$d

現在の行以降の行をすべて削除します

:.+1,$d

text キーワードを含む行を削除します。/reg/ は正規表現です。

:g/text/d

#で始まるコメントを削除します。

:g/^#/d

3. ファイルの内容を削除する

ファイル内容のクリアを実現するには
1,$d

:1,$d

上記のコマンドの意味は、最初の行から最後の行まですべての内容を削除します。つまり、ファイル全体の内容をクリアします。Vim では、最後の行の位置を示します。∗ ∗ または 1 は、最後の行の位置を示します。**または1、最後の行の位置を示します。または1 dG**

:1,$dG

dG コマンドの意味は、カーソルが置かれている行から最終行までの内容を削除し、カーソルを最初の行に移動してファイル全体をクリアすることです。
または %d

:%d

% はファイル内のすべての行を意味し、%d はすべての行
またはコマンド ラインを削除します。 dG
Esc キーを押した後、最初に gg を押し (先頭に到達)、次に dG を押します。

ファイル操作を元に戻す

コマンド ライン モードでショートカット キー
u を使用してファイル操作を元に戻し、復元します。 以前の操作を元に戻す
には Ctrl+r を押し、元に戻した操作を復元します。

ファイルの内容を選択、貼り付け、コピー、切り取ります

ファイル貼り付けコピー

コマンド ライン モードで、すべてコピーします: Esc キーを押した後、最初に ggを押し、次に ggyG を押します。
グループは削除されません。 ggdG すべてを選択して強調表示: Esc キーを押した後、最初に gg を押し、次にggvG または ggVG を押します。ペーストする: p, カーソルの後ろ 単語の位置にペーストします。ペーストボードに内容がない場合、p は空白行を追加することを意味し、dd はカーソルがある行を削除することを意味し、yy は新しい行を追加することを意味します。

一行コピー:escキー押し後、yy
一行削除:escキー押し後、dd

複数行のコピー
複数行をコピーする必要がある場合は、y を move コマンドと組み合わせて使用​​できます。たとえば、現在の行から 3 行をコピーする必要がある場合は、次のコマンドを使用できます。
コマンド ライン モードでは、次のように入力します。

3yy

このうち 3yy は、現在の行とその下の 2 行をコピーすることを意味します。

ファイル全体をコピーする必要がある場合は、% 記号を付けて y コマンドを使用できます。

:%y

その中で: % はファイル全体を選択することを意味し、y は選択した行をコピーすることを意味します。

ファイルの貼り付けとコピー方法2

Vim でのコピーと貼り付けの操作

指示が必要です:

v: 进入Visual模式
gg: 光标移动到文本第一行
G: 光标移动到文本的最后一行
y: 复制到vim寄存器中,非windows系统剪贴板。
p: 粘贴

ステップ

1. 指定したテキストをコピーして貼り付けます。Vim
エディターに入り、「v」と入力してビジュアル モードに入り、
カーソルを移動してコピーする必要があるコンテンツを選択します。
y を入力してコピーすると、左下隅に「... line yanked」と表示され、コピーが成功したことを示します。vim
で p を入力して内容を貼り付けます。

2. すべて選択してコピーします

Vim エディタに入り、v を押してビジュアル モードに入ります。
gg と入力してテキストの最初の行に移動します。
「G」と入力してテキストの最後の行に到達し、すべてのテキストを選択します。
y を入力してレジスタにコピーします。
p と入力してレジスタの内容を貼り付けます。

注: Vim の 'y' コマンドは、Windows のクリップボードではなく、レジスタへのコピーを意味します。Windows システムでは「Ctrl v」を使用してペーストすることはできません。Vim エディターでペーストするには p コマンドのみを使用できます。

ファイルカット

d と y コマンドは基本的に似ているため、数値の使用も含めて 2 つのコマンドの使用法は同じです。
d は選択したブロックをバッファにカットします。
dd は行全体をカットします。
d^ は行の先頭までカットします。
d^ $ 行末まで切り取ります
dw 単語を切り取ります word
dG カーソルがある行をファイルの末尾まで切り取ります

vim ファイルの内容のインデント

> コマンドは Vim のインデント コマンドで、1 行以上の内容をインデントするために使用できます。空のファイルに対して > コマンドを使用すると、ファイルの内容がクリアされ、挿入モードになります。

:>

上記のコマンドの意味は次のとおりです: 現在の行をインデントします

vimrc 設定ファイルの概要

1. .vimrc とは何ですか?

.vimrc は vim の設定ファイルで、vim エディターに関連するすべての機能スイッチは .vimrc ファイルを通じて設定できます。

注: ファイル名の「rc」は「実行コマンド」に由来します。元となったのは 1965 年に MIT が開発した CTSS
システムで、ファイルから一連のコマンドを抽出して実行する機能があり、これを run コマンドと呼びます (このファイルは runco​​m とも呼ばれます)
現在では、構成ファイルと呼ばれることがよくあります。

2. .vimrc ストレージ パス

.vimrc 構成ファイルは、システム構成とユーザー構成の 2 つのタイプに分かれています。システム .vimrc 構成ファイルは vim インストール ディレクトリに保存され、デフォルトのパスは /usr/share/vim/.vimrc です。ユーザーの .vimrc 構成ファイルは、ユーザーのホーム ディレクトリ ~/.vimrc に保存されます。

注: ユーザー設定ファイルはシステム設定ファイルよりも優先されます。vim が起動すると、最初に現在のユーザーのルート ディレクトリにある .vimrc ファイルが読み取られます。したがって、個々のユーザーに関連するパーソナライズされた設定は通常、~/.vimrc に配置されます。

以下の図に示すように、システム コマンド ラインで vim --version コマンドを実行して、vim が現在使用している構成ファイルの保存パスを表示します。 上では、いくつかの vimrc ファイルがリストされており、システム vimrc ファイルがあります
ここに画像の説明を挿入します
。 . 、ユーザーの vimrc ファイル、および 2 番目のユーザーの vimrc ファイル。さらに、vi との互換性を目的として、vim は vi の exrc 設定ファイルもサポートします。

vim が起動すると、最初にシステムの vimrc ファイルの実行が試行され、次に上記の順序でユーザー vimrc が検索され、最初に見つかったユーザー vimrc の設定が使用され、残りのユーザー vimrc は無視されます。

vim -u filename コマンドを使用して vim を起動する場合、指定したファイル名は vim 構成ファイルとして使用されます (vimrc のデバッグ時に役立ちます)。vim -u NONE コマンドを使用して vim を起動する場合、vimrc ファイルは使用されません。 vimrc 設定に問題があると思われる場合は、この方法を使用して vimrc の実行をスキップできます。

3. .vimrc の概要

デフォルトでは、vim エディターには行番号が表示されず、構文の強調表示やスマート インデントもありません。使いやすさを考慮して、基本的な vim 設定オプションには通常次のものが含まれます。

行番号を表示

set number

現在の列を強調表示する

set cursorcolumn

括弧の一致を表示

set showmatch

インデントを設定し、タブの長さをスペース 4 に設定します

set tabstop=4

コメントの設定
vimrc では、二重引用符で始まる行はコメントとして無視されます。

おすすめ

転載: blog.csdn.net/tian830937/article/details/132438229