vimのいくつかのコマンドは、最初にコロン(:)をタイプすることによって与えられます。 :ファイルを保存して終了するwq。コマンドの中には、たとえばReplaceコマンド(R)のようなコロンを必要としないものもあります。私は2つのアプローチの違いは何ですか?コロンを必要とするものとそうでないものに関する特定の規則はありますか?なぜいくつかのコマンドはvimでコロンを必要とするのですか?
答えて
説明のために、Vimの前身であるhistory of viを調べる必要があります。キーボードや付属のプリンタ(端末)でテキスト編集を行う必要があった昔、マウスはなく、紙以外の表示もなく、対話性もほとんどありませんでした。編集は、exと呼ばれるエディタを使用して短いニーモニックコマンドで構成されていました。 1行または複数行のコマンド(例::substitute/foo/bar
)を発行し、エディタに従いました。コマンドの効果がわからない場合は、:print
行を入力してください。
時間が現れ、(彼らは有用であったとプログラマーがそれらに使用されたので)のviエディタは、元のコマンドを組み込んだが、(x
)、削除などのよりインタラクティブなコマンドを紹介し、ビデオ端末を通過し、(i
)を挿入、 等々。 exコマンドは、コマンドラインモードで利用できます。コマンドラインモードは:
で始まり、と入力してください。と入力してください。
ViとVimはそれらが同じキーがモード1がであるかに応じて異なるものを意味し、これらの異なるモードを持っているので。Vimの中に習熟するために、あなたは異なるモードについて学習する必要があり、この点で特別です編集目標を達成するための最適な使い方
:help vim-modes
は、優れた包括的なヘルプ機能の出発点です。
あなたはvim
の異なるモードにあります。 vim
には6つの基本モードがあります。彼らはNormal
モードあなたドンで
です:
と入力する必要がある場合は、Escキーを押してこのモードにアクセスできます。
コロンを「必要としない」コマンドは、「通常(モード)コマンド」と呼ばれます。
コロンを「必要とする」コマンドは、「Exコマンド」と呼ばれます。
Vimは、modalエディタで、あなたがいるモードに文脈依存の多くのコマンドを持っています。最も明らかな効果は、異なるコンテキストで同じキーを押すと異なる結果が生じることです。
のモードでは、キーボードのほとんどのキーは、実際に文字をドキュメントに入力するために使用されます。
あなたはその上のVimはのために有名であるレーザーに焦点を当てた編集を行うとdcggsi/.*
のようなコマンドを使用して、どこ通常モードがある...、ヤンク入れ、削除、周りにカーソルを移動するために通常モードに切り替えて。
あなたは通常/*ビジュアル・*モードで:
を押すことでコマンドラインモードに入ります。これは、一般的に二つのもののために使用されます。
- は、管理タスク(ファイルを開く、バッファを切り替え、ディスクへの書き込み...)
:m10
または:t1
または:g/foo/d
よう - 使用クールな編集コマンドを実行...
このモードで使うことができるコマンドの多くは、Vimの過去の残酷なものであり、Exコマンドと呼ばれています。
つまり、は、のモードコマンドもExコマンドもコロンで始まりません。コロンは単にモードを変更するために使用されます。
- 1. VIM内のいくつかのbashコマンドは、VIMではなくbashに出力を送信します
- 2. なぜPDFファイルにLOG4JとSLF4Jが必要ですか?なぜ.Docファイルには必要ないのですか?
- 3. なぜアプレットはmain()を必要としないのですか?
- 4. ルビーはなぜ「細かい」必要はないのですか?
- 5. IMAPで各コマンドの前にタグが必要なのはなぜですか?
- 6. MTLVertexAttributeDescriptorsは必要ですか?彼らはなぜ必要なのですか?
- 7. 一部のクラスではインスタンス化が必要なものがいくつかあります。なぜですか?
- 8. "-H"コマンドが見つからないのはなぜですか?
- 9. アダプターはなぜスーパーメソッドを必要とするのですか?
- 10. Xcodeはいつ転送メソッドの宣言を必要としないのですか?なぜですか?
- 11. linuxコマンドでコロンとセミコロンの違いは?
- 12. 必要なTortoise SVNディレクトリの数はいくつですか?
- 13. Appium:インストールに必要なパッケージの数はいくつですか?
- 14. Viewオブジェクトをいくつかのメソッドに渡す必要があるのはなぜですか?
- 15. vimでコードをラップできないのはなぜですか?
- 16. YAML仕様でコロンの後ろにスペースが必要なのはなぜですか?
- 17. なぜ "typeof"にかっこは必要ないのですか?
- 18. なぜいくつかのhttpsウェブサイトはocspクエリを必要としません
- 19. コンパイラを書くときにランタイムライブラリが必要なのはなぜですか?
- 20. なぜ必要なのですか$ = jQuery
- 21. もっと多くのクラスローダーが必要なのはなぜですか?
- 22. Vimのエラー:することができます実行するいくつかのコマンドは、一時ファイル
- 23. C#で少なくとも1つのクラスが必要なのはなぜですか?
- 24. なぜmutexはmutexを必要としないのですか?mutexにはmutexが必要です...
- 25. stdafx.h:いつ必要なのですか?
- 26. なぜこの例では変数ではなくメソッドが必要ですか?
- 27. なぜプロトコルで ``より多くのコンテキストが必要ですか?
- 28. AccountManager.invalidateAuthTokenにAccountNameではなくAccountTypeが必要なのはなぜですか?
- 29. UIスレッドからSerialDevice.FromIdAsyncを開く必要があるのはなぜですか?
- 30. フォームに「アクション」は必要ないのはなぜですか? UserCreationForm
より頻繁に使用されるコマンドは、コロンが必要ない "noramal"コマンドになります。通常のコマンドとして使用する文字は非常に多いので、残りのコマンドは次のコマンドに渡されます。コマンド – yosukesabai
@yosukesabai:論理的に聞こえますが、それは[viの履歴]の改訂版の解釈です(http://en.wikipedia。 org/wiki/Vi)。 –