Usr_02

Nvim :help ページは、このスクリプトから ソース を使用して、tree-sitter-vimdoc パーサーで生成されています。


VIM ユーザーマニュアル - Bram Moolenaar 著
Vim の最初のステップ
この章では、Vim でファイルを編集するために必要な最低限の情報のみを提供します。効率的または高速な編集方法ではありませんが、編集は可能です。 これらのコマンドを練習する時間を取りましょう。 これらは、後続の内容の基礎となります。
02.1 Vim を初めて実行する 02.2 テキストの挿入 02.3 カーソルの移動 02.4 文字の削除 02.5 アンドゥとリドゥ 02.6 その他の編集コマンド 02.7 終了する 02.8 ヘルプの表示
次の章: usr_03.txt カーソルの移動 前の章: usr_01.txt マニュアルについて 目次: usr_toc.txt

Vim を初めて実行する

Vim を起動するには、次のコマンドを入力します
gvim file.txt
Unix では、任意のコマンドプロンプトでこれを入力できます。 Microsoft Windows を実行している場合は、コマンドプロンプトを開いてコマンドを入力します。 いずれの場合も、Vim は file.txt という名前のファイルの編集を開始します。 これは新しいファイルなので、空のウィンドウが表示されます。 画面はこのようになります
+---------------------------------------+
|#                                        |
|~                                        |
|~                                        |
|~                                        |
|~                                        |
|"file.txt" [New]                        |
+---------------------------------------+
        ('#' is the cursor position.)
チルダ (~) 行は、ファイルに存在しない行を示します。 つまり、Vim は表示するファイルがなくなると、チルダ行を表示します。 画面の下部にあるメッセージ行は、ファイルの名前が file.txt であり、新しいファイルを作成していることを示しています。 メッセージ情報は一時的なもので、他の情報によって上書きされます。

VIM コマンド

gvim コマンドを実行すると、エディターは編集用の新しいウィンドウを作成します。 このコマンドを使用する場合
vim file.txt
編集はコマンドウィンドウ内で行われます。 つまり、xterm 内で実行している場合、エディターは xterm ウィンドウを使用します。 Microsoft Windows のコマンドプロンプトを使用している場合、編集はこのウィンドウ内で行われます。 ウィンドウ内のテキストは両方のバージョンで同じように見えますが、gvim ではメニューバーなどの追加機能があります。 詳細については後述します。

02.2 テキストの挿入

Vim エディターはモーダルエディターです。 つまり、エディターの動作は、どのモードになっているかによって異なります。 2 つの基本モードは、ノーマルモードと挿入モードと呼ばれます。 ノーマルモードでは、入力した文字はコマンドになります。 挿入モードでは、文字はテキストとして挿入されます。 Vim を起動したばかりなので、ノーマルモードになっています。 挿入モードを開始するには、「i」コマンド(Insert の i)を入力します。 その後、テキストを入力できます。 ファイルに挿入されます。 間違えても心配しないでください。後で修正できます。 次のようなプログラマーのリメリックを入力するには、次のように入力します
iA very intelligent turtle
Found programming Unix a hurdle
「turtle」を入力した後、<Enter> キーを押して新しい行を開始します。 最後に、<Esc> キーを押して挿入モードを終了し、ノーマルモードに戻ります。 Vim ウィンドウに 2 行のテキストが表示されます
+---------------------------------------+
|A very intelligent turtle                |
|Found programming Unix a hurdle        |
|~                                        |
|~                                        |
|                                        |
+---------------------------------------+
現在のモードは?
現在のモードを確認するには、次のコマンドを入力します
:set showmode
コロンを入力すると、Vim はカーソルをウィンドウの最後の行に移動することに注意してください。 そこにコロンコマンド(コロンで始まるコマンド)を入力します。 <Enter> キーを押して、このコマンドを終了します(コロンで始まるすべてのコマンドはこの方法で終了します)。 ここで、「i」コマンドを入力すると、Vim はウィンドウの下部に --INSERT-- を表示します。 これは、挿入モードになっていることを示しています。
+---------------------------------------+
|A very intelligent turtle                |
|Found programming Unix a hurdle        |
|~                                        |
|~                                        |
|-- INSERT --                                |
+---------------------------------------+
<Esc> を押してノーマルモードに戻ると、最後の行は空白になります。

トラブルからの脱出

Vim の初心者の問題の 1 つは、モードの混乱です。これは、自分がどのモードにいるかを忘れたり、誤ってモードを切り替えるコマンドを入力したりすることによって発生します。 どのモードからでもノーマルモードに戻るには、<Esc> キーを押します。 時には 2 回押す必要があります。 Vim がビープ音を鳴らした場合、すでにノーマルモードになっています。

02.3 カーソルの移動

ノーマルモードに戻ったら、次のキーを使用してカーソルを移動できます
h 左 hjkl
j 下 k 上 l 右
最初は、これらのコマンドがランダムに選択されたように見えるかもしれません。 結局のところ、右に l を使うなんて誰が聞いたことがあるでしょうか? しかし実際には、これらの選択には非常に正当な理由があります。カーソルの移動はエディターで最も一般的な操作であり、これらのキーは右手のホームポジションにあります。 つまり、これらのコマンドは、最も速く入力できる場所に配置されています(特に 10 本の指で入力する場合)。
注: 矢印キーを使用してカーソルを移動することもできます。 ただし、矢印キーを押すには、手をテキストキーから矢印キーに移動する必要があるため、編集速度が大幅に低下します。 1 時間に数百回も操作する可能性があることを考えると、これにはかなりの時間がかかる可能性があります。 また、矢印キーがないキーボードや、珍しい場所に配置されているキーボードもあります。 したがって、hjkl キーの使い方を知っておくと、そのような状況で役立ちます。
これらのコマンドを覚える1つの方法は、h が左に、l が右に、j が下を向いていることです。 図にすると
    k
h     l
  j
これらのコマンドを学ぶ最良の方法は、実際に使用することです。 「i」コマンドを使用して、さらに数行のテキストを挿入します。 次に、hjkl キーを使用してカーソルを移動し、どこかに単語を挿入します。 <Esc> を押してノーマルモードに戻ることを忘れないでください。 :Tutor も、実践しながら学ぶための良い方法です。
日本人ユーザー向けに、岩谷宏氏は次のように使うことを提案しています
コムソモリスク ^ | ホアンホ <--- ---> ロサンゼルス (黄河) | v ジャワ島 (プログラミング言語ではなく、島)

02.4 文字の削除

文字を削除するには、カーソルをその文字の上に移動して「x」を入力します。 (これは、タイプライターの古い時代の名残で、xxxx を入力することで文字を削除していました。)たとえば、カーソルを最初の行の先頭に移動し、xxxxxxx(7 つの x)を入力して「A very 」を削除します。 結果は次のようになります
+---------------------------------------+
|intelligent turtle                        |
|Found programming Unix a hurdle        |
|~                                        |
|~                                        |
|                                        |
+---------------------------------------+
これで、たとえば次のように入力することで、新しいテキストを挿入できます
iA young <Esc>
これは挿入を開始し(i)、単語「A young」を挿入し、挿入モードを終了します(最後の <Esc>)。 結果は
+---------------------------------------+
|A young intelligent turtle                |
|Found programming Unix a hurdle        |
|~                                        |
|~                                        |
|                                        |
+---------------------------------------+
行の削除
行全体を削除するには、「dd」コマンドを使用します。 次の行が上に移動してギャップを埋めます
+---------------------------------------+
|Found programming Unix a hurdle        |
|~                                        |
|~                                        |
|~                                        |
|                                        |
+---------------------------------------+
改行の削除
Vim では、2 つの行を結合できます。つまり、行間の改行が削除されます。 「J」コマンドはこれを実行します。 次の 2 行を考えてみましょう
A young intelligent
turtle
カーソルを最初の行に移動し、「J」を押します
A young intelligent turtle

02.5 アンドゥとリドゥ

削除しすぎた場合はどうでしょうか。 もちろん、もう一度入力することもできますが、もっと簡単な方法があります。 「u」コマンドは最後の編集を元に戻します。 実際に見てみましょう。「dd」を使用して最初の行を削除した後、「u」はそれを元に戻します。 もう 1 つ: カーソルを最初の行の A に移動します
A young intelligent turtle
ここで、xxxxxxx と入力して「A young」を削除します。 結果は次のとおりです
intelligent turtle
「u」と入力して、最後の削除を元に戻します。 その削除は g を削除したので、アンドゥはその文字を復元します.
g intelligent turtle
次の「u」コマンドは、削除された最後から 2 番目の文字を復元します
ng intelligent turtle
次の「u」コマンドは u を復元します。以下同様です
ung intelligent turtle
oung intelligent turtle
young intelligent turtle
young intelligent turtle
A young intelligent turtle

リドゥ

元に戻しすぎた場合は、CTRL-R(リドゥ)を押して前のコマンドをやり直すことができます。 つまり、アンドゥを元に戻します。 これを実際に確認するには、CTRL-R を 2 回押します。 文字 A とその後のスペースが消えます
young intelligent turtle
アンドゥコマンドには特別なバージョン、「U」(行の取り消し)コマンドがあります。 行の取り消しコマンドは、最後に編集された行で行われたすべての変更を元に戻します。 このコマンドを 2 回入力すると、前の「U」がキャンセルされます。
A very intelligent turtle
xxxx very を削除
A intelligent turtle
xxxxxx turtle を削除
A intelligent
「U」で行を復元
A very intelligent turtle
「u」で「U」を元に戻す
A intelligent
「U」コマンド自体は変更であり、「u」コマンドは元に戻し、CTRL-R はやり直します。 少し混乱するかもしれません。 心配しないでください、「u」とCTRL-R を使用すれば、以前のどの状態にも戻ることができます。 詳細については、セクション 32.2 を参照してください。

02.6 その他の編集コマンド

Vim には、テキストを変更するため多数のコマンドがあります。 Q_in と以下を参照してください。 ここでは、よく使用されるコマンドをいくつか紹介します。

追加

「i」コマンドは、カーソルの下の文字の前に文字を挿入します。 これはうまく機能しますが、行の最後に文字列を追加したい場合はどうなりますか? そのためには、カーソルの後にテキストを挿入する必要があります。 これは、「a」(追加)コマンドを使用して行います。 たとえば、行を
and that's not saying much for the turtle.
から
and that's not saying much for the turtle!!!
に変更するには、カーソルを行末のピリオドの上に移動します。 次に、「x」を入力してピリオドを削除します。 カーソルは nyní 行末の turtle の e にあります。 次のように入力します
a!!!<Esc>
turtle の e の後に 3 つの感嘆符を追加します
and that's not saying much for the turtle!!!
新しい行を開く
「o」コマンドは、カーソルの下に新しい空の行を作成し、Vim を挿入モードにします。 その後、新しい行のテキストを入力できます。 カーソルが次の 2 行の最初の行のどこかにあるとします
A very intelligent turtle
Found programming Unix a hurdle
ここで「o」コマンドを使用し、新しいテキストを入力すると
oThat liked using Vim<Esc>
結果は次のようになります
A very intelligent turtle
That liked using Vim
Found programming Unix a hurdle
「O」コマンド(大文字)は、カーソルの上に新しい行を開きます。
カウントの使用
9行上に移動したいとします。"kkkkkkkkk"と入力することもできますし、"9k"とコマンドを入力することもできます。実際、多くのコマンドの前に数字を付けることができます。例えば、この章の前半で、行末に3つの感嘆符を追加するために"a!!!<Esc>"と入力しました。別の方法として、"3a!<Esc>"というコマンドを使用することもできます。3という数は、後続のコマンドにその効果を3倍にするように指示します。同様に、3文字を削除するには、"3x"コマンドを使用します。カウントは常に、それが適用されるコマンドの前に来ます。

02.7 終了する

終了するには、"ZZ"コマンドを使用します。このコマンドはファイルを書き込んで終了します。
注意: 他の多くのエディタとは異なり、Vimは自動的にバックアップファイルを作成しません。"ZZ"と入力すると、変更がコミットされ、元に戻すことはできません。Vimエディタを設定してバックアップファイルを作成することもできます。 07.4を参照してください。

変更を破棄する

変更を加えた後、始める前の方が良かったと気づく場合があります。心配しないでください。Vimには、変更を破棄して終了するコマンドがあります。それは
:q!
コマンドを終了するには、<Enter>キーを押すことを忘れないでください。
詳細に興味のある方のために説明すると、このコマンドは3つの部分から構成されています。コロン(:)はコマンドラインモードに入り、qコマンドはエディタに終了を指示し、オーバーライドコマンド修飾子(!)は強制終了を指示します。Vimは変更を破棄することに消極的なので、オーバーライドコマンド修飾子が必要です。":q"とだけ入力すると、Vimはエラーメッセージを表示して終了を拒否します。
E37: 最後の変更以降書き込みが行われていません (! を使用して上書きしてください)
オーバーライドを指定することにより、あなたは事実上Vimに「私がやろうとしていることが愚かなことのように見えることは分かっていますが、私は本当にこれをやりたいのです」と伝えています。
Vimで編集を続行したい場合: ":e!"コマンドはファイルの元のバージョンを再読み込みします。

02.8 ヘルプの検索

知りたいことはすべてVimのヘルプファイルにあります。遠慮なく質問してください!
探しているものが分かっている場合は、Googleを使用する代わりに、ヘルプシステムを使用して検索する方が簡単な場合が多いです。なぜなら、件名は特定のスタイルガイドに従っているからです。
また、ヘルプには、特定のVimバージョンに属しているという利点があります。後で追加されたコマンドのヘルプは表示されません。これらはあなたには機能しません。
一般的なヘルプを表示するには、次のコマンドを使用します。
:help
最初のファンクションキー<F1>を使用することもできます。キーボードに<Help>キーがある場合は、それも機能する可能性があります。件名を指定しないと、":help"は一般的なヘルプウィンドウを表示します。Vimの作成者はヘルプシステムで非常に巧妙な(あるいは非常に怠惰な)ことをしました。ヘルプウィンドウを通常の編集ウィンドウにしたのです。通常のVimコマンドをすべて使用して、ヘルプ情報内を移動できます。したがって、h、j、k、lはそれぞれ左、下、上、右に移動します。ヘルプウィンドウから出るには、エディタから出るために使用するのと同じコマンド"ZZ"を使用します。これはヘルプウィンドウを閉じるだけで、Vimを終了するわけではありません。
ヘルプテキストを読むと、縦棒で囲まれたテキストがいくつか表示されます(例:help)。これはハイパーリンクを示しています。カーソルをバーの間に置いてCTRL-](タグにジャンプ)を押すと、ヘルプシステムは指定された件名に移動します。(ここでは説明しませんが、Vimの用語ではハイパーリンクをタグと呼びます。そのため、CTRL-]はカーソル下の単語で指定されたタグの位置にジャンプします。)何度かジャンプした後、戻りたい場合があります。CTRL-T(タグをポップ)は前の位置に戻ります。CTRL-O(古い位置にジャンプ)もここでうまく機能します。ヘルプ画面の上部には、help.txtという表記があります。" * "文字で囲まれたこの名前は、ヘルプシステムによってタグ(ハイパーリンクの宛先)を定義するために使用されます。タグの使用に関する詳細は、29.1を参照してください。
特定の件名に関するヘルプを表示するには、次のコマンドを使用します。
:help {subject}
たとえば、"x"コマンドのヘルプを表示するには、次を入力します。
:help x
テキストの削除方法を調べるには、次のコマンドを使用します。
:help deleting
すべてのVimコマンドの完全なインデックスを取得するには、次のコマンドを使用します。
:help index
制御文字コマンド(たとえば、CTRL-A)のヘルプが必要な場合は、プレフィックス"CTRL-"を使用して記述する必要があります。
:help CTRL-A
Vimエディタには多くの異なるモードがあります。デフォルトでは、ヘルプシステムはノーマルモードのコマンドを表示します。たとえば、次のコマンドは、ノーマルモードのCTRL-Hコマンドのヘルプを表示します。
:help CTRL-H
他のモードを識別するには、モードプレフィックスを使用します。コマンドの挿入モードバージョンのヘルプが必要な場合は、"i_"を使用します。CTRL-Hの場合は、次のコマンドになります。
:help i_CTRL-H
Vimエディタを起動すると、いくつかのコマンドライン引数を使用できます。これらはすべてダッシュ(-)で始まります。たとえば、-t引数の機能を調べるには、次のコマンドを使用します。
:help -t
Vimエディタには、エディタを設定およびカスタマイズできる多くのオプションがあります。オプションのヘルプが必要な場合は、一重引用符で囲む必要があります。たとえば、'number'オプションの機能を調べるには、次のコマンドを使用します。
:help 'number'
すべてのモードプレフィックスを含む表は、以下にあります:help-summary
特殊キーは山かっこで囲まれています。たとえば、挿入モードの上矢印キーのヘルプを見つけるには、次のコマンドを使用します。
:help i_<Up>
たとえば、理解できないエラーメッセージが表示された場合
E37: 最後の変更以降書き込みが行われていません (! を使用して上書きしてください)
先頭のエラーIDを使用して、それに関するヘルプを見つけることができます。
:help E37
概要:help-summary 1) トピックを入力した後にCtrl-Dを使用し、Vimに利用可能なすべてのトピックを表示させます。または、Tabキーを押して補完します。
:help some<Tab>
ヘルプの使用方法に関する詳細情報
:help helphelp
2) バーのリンクをたどって、関連するヘルプにアクセスします。詳細なヘルプからユーザー向けドキュメントに移動できます。ユーザー向けドキュメントでは、特定のコマンドについて、ユーザーの視点からより詳細ではなく、より詳細に説明しています。例えば、次の後
:help pattern.txt
はじめに、ユーザーガイドのトピック03.9usr_27.txtが表示されます。
3) オプションは一重引用符で囲まれています。listオプションのヘルプトピックに移動するには
:help 'list'
特定のオプションを探していることだけを知っている場合は、次のこともできます。
:help options.txt
すべてのオプション処理について説明するヘルプページを開き、正規表現(例:textwidth)を使用して検索します。特定のオプションには独自のネームスペースがあります。例:
:help cpo-<letter>
'cpoptions'設定の対応するフラグについては、<letter>を特定のフラグ(例: )に置き換えます。
:help cpo-;
'guioptions'フラグの場合
:help go-<letter>
4) ノーマルモードのコマンドにはプレフィックスがありません。"gt"コマンドのヘルプページに移動するには
:help gt
5) 挿入モードのコマンドはi_で始まります。単語を削除するためのヘルプ
:help i_CTRL-W
6) ビジュアルモードのコマンドはv_で始まります。ビジュアル領域の反対側にジャンプするためのヘルプ
:help v_o
7) コマンドラインの編集と引数はc_で始まります。コマンド引数%を使用するためのヘルプ
:help c_%
8) Exコマンドは常に":"で始まるため、":s"コマンドのヘルプに移動するには
:help :s
9) デバッグ専用の コマンドは">"で始まります。"cont"デバッグコマンドのヘルプに移動するには
:help >cont
10) キーの組み合わせ。通常、使用できるモードを示す1文字で始まります。例:
:help i_CTRL-X
挿入モードのCTRL-Xコマンドファミリに移動します。これを使用して、さまざまなものを自動補完できます。特定のキーは常に同じように記述されることに注意してください。たとえば、Controlは常にCTRLになります。ノーマルモードのコマンドの場合、プレフィックスはなく、トピックは :h CTRL-<Letter> で利用できます。例:
:help CTRL-W
対照的に
:help c_CTRL-R
コマンドラインでコマンドを入力するときにCTRL-Rが何をするかを説明し、
:help v_CTRL-A
ビジュアルモードで数値を増やすことについて説明し、
:help g_CTRL-A
"g<C-A>"コマンドについて説明します(たとえば、"g"を押してから<CTRL-A>を押す必要があります)。ここで、"g"はノーマルコマンド"g"を表し、常に2番目のキーを待ってから、"z"で始まるコマンドと同様の処理を行います。
11) Regexp 項目は常に/で始まります。したがって、Vim正規表現の "\+" 量指定子のヘルプを取得するには
:help /\+
正規表現についてすべて知る必要がある場合は、以下から読み始めてください。
:help pattern.txt
12) レジスタは常に "quote" で始まります。特別な ":" レジスタについて調べるには
:help quote:
13) Vim スクリプトは以下で入手できます。
:help eval.txt
言語の特定の側面は :h expr-X で利用できます。ここで、"X" は1文字です。例:
:help expr-!
Vim スクリプトの "!" (Not) 演算子について説明しているトピックに移動します。これも重要です。
:help function-list
利用可能なすべての関数の簡単な説明を見つけるため。Vim スクリプト関数のヘルプトピックには常に "()" が含まれているため、
:help append()
現在のバッファにテキストを追加する方法ではなく、append Vim スクリプト関数について説明しています。
14) マッピングについては、ヘルプページ :h map.txt で説明しています。使用
:help mapmode-i
:imap コマンドについて調べるため。また、:map-topic を使用して、マッピングに固有の特定のサブトピックについて調べます。例:
:help :map-local
バッファローカルマッピングの場合、または
:help map-bar
マッピングで '|' がどのように処理されるかについて。
15) コマンド定義については :h command-topic で説明されているため、使用
:help command-bar
カスタムコマンドの '!' 引数について調べるため。
16) ウィンドウ管理コマンドは常に CTRL-W で始まるため、対応するヘルプは :h CTRL-W_letter にあります。例:
:help CTRL-W_p
前にアクセスしたウィンドウを移動するため。にもアクセスできます
:help windows.txt
ウィンドウ処理コマンドを探している場合は、これを読んでください。
17) :helpgrep を使用して、すべてのヘルプページ(およびインストールされているプラグイン)を検索します。使用方法については、:helpgrep を参照してください。トピックを検索するには
:helpgrep topic
これにより、最初の一致に移動します。次の一致に移動するには
:cnext
すべての一致は、quickfix ウィンドウで利用できます。これは、次のように開くことができます。
:copen
目的の一致に移動し、Enterキーを押してそのヘルプにジャンプします。
18) ユーザーマニュアル。これは、初心者向けのヘルプトピックをかなり分かりやすい方法で説明しています。目次を見つけるには、usr_toc.txt から始めてください(ご想像のとおり)。
:help usr_toc.txt
目次をざっと見て、興味のあるトピックを見つけましょう。「二重音字」と「特殊文字の入力」の項目は24章にあります。その特定のヘルプページに移動するには
:help usr_24.txt
また、ヘルプの特定の章にアクセスしたい場合は、次のように章番号に直接アクセスできます。
:help 10.1
これはusr_10.txtの10.1章に移動し、マクロの記録について説明しています。
19) グループの強調表示。常にhl-groupnameで始めます。例:
:help hl-WarningMsg
はWarningMsg強調表示グループについて説明しています。
20) 構文の強調表示は:syn-topicという名前空間に属しています。例:
:help :syn-conceal
は":syn"コマンドのconceal引数について説明しています。
21) Quickfixコマンドは通常:cで始まり、場所リストコマンドは通常:lで始まります。
22) Autocommandイベントはその名前で見つけることができます。
:help BufWinLeave
すべての可能なイベントを見るには
:help events
23) コマンドラインスイッチは常に"-"で始まります。そのため、Vimの-fコマンドスイッチのヘルプを表示するには、次のようにします。
:help -f
24) オプション機能は常に"+"で始まります。 conceal機能について調べるには、次のようにします。
:help +conceal
25) 付属のファイルタイプ固有の機能のドキュメントは、通常ft-<filetype>-<functionality>の形式で利用できます。そのため
:help ft-c-syntax
はC構文ファイルとそのオプションについて説明しています。場合によっては、オムニ補完のための追加セクション
:help ft-php-omni
またはファイルタイププラグイン
:help ft-tex-plugin
が利用可能です。
26) エラーコードと警告コードは、ヘルプで直接検索できます。そのため
:help E297
はスワップエラーメッセージの説明に正確に移動し、
:help W10
は「読み取り専用ファイルの変更」という警告について説明しています。ただし、これらのエラーコードは説明されておらず、通常このエラーを引き起こすVimコマンドにリストされている場合があります。そのため
:help E128
:functionコマンドに移動します。
次の章: usr_03.txt 移動
著作権:manual-copyrightを参照してください vim:tw=78:ts=8:noet:ft=help:norl
メイン
コマンド索引
クイックリファレンス