Vimが私の心を盗んだ方法

名前は、今日はVimについて話すことを意味すると思います! これは何ですか なぜこれが必要なのですか? 使い方は?









私の過去の記事を読んだ人の多くは、叫ぶことができます。







実際、そのような慣行は不要であると考えることができます。 残念なことに、今でも同じように推論する人がいるでしょう。 知らない人のために、私は説明します:Vimは、ターミナルで動作する、昔ながらのテキストエディターであり、編集と入力に対する非標準的なアプローチを持っています。







「2018年に古いプログラムを使用し、グラフィカルインターフェイスがなくても使用するのはなぜですか?」という公正な疑問が生じます。答えは簡単で、便利です。 私は同意するので、どのエディターについても絶対に言うことができますが、それでもこのケースは非常に珍しいことです。



そもそも、いや、Vimは古くはない-彼はまだ27歳である。 彼は、古典的なViエディターの相続人です。 最新のシステムによりよく適合し、より広範な機能を備えています。 言い換えれば、その名前(Vi改善)は完全に正当化されます。 また、同じアイデアの新しい実装であるneovimがあることにも注意してください。



違いは何ですか?







このトピックに関するYoutubeのさまざまなビデオを見ると、彼らは主に問題の形而上学的コンポーネントについて話している。 つまり、イデオロギーの違い、プロジェクトの開発方法などについてです。 エンドユーザーにとって根本的な違いはありません。 ただし、2つの点を明確にすることができます。一部のプラグインは、プログラムのコアからユーザーインターフェイスを分離することに加えて、neovimにインストールする方が簡単です。 2番目について詳しく説明します。



あなたの中には、次のような別の編集者に切り替えるという提案に常に応答する人々(および猫)がいると思います。







さて、neovimは救助に急いでいます! 彼のおかげで、今では多くの最新のIDEと「プログラマーノートブック」にVim機能のエミュレーターがあります。 したがって、お気に入りのSublime TextまたはCLionをすべてのプラグインで使用し続けることができ、同時にコードの記述に関して生産性を著しく向上させ、それからより多くの楽しみを得ることができます(これについては後で説明します)。 「本当のハッカーはVimまたはEmacsを使用している」ため、よくある質問を増やすこともできます。



「まあ、ある種のビンテージエディタを勉強しようと決めたのですが、なぜVimで、少なくとも同じEmacsではないのでしょうか?」まあ、これはあいまいな質問です。 Emacsは何でもできる強力なソリューションです(ヘビを演奏することもできます)。 しかし、彼の強さは彼の弱さでもあります。 広範で複雑すぎるため、開発がより複雑になり、鉄に対する厳格さが増します。 コンソールエディタでもあるため、最後の議論は今ではばかげているように聞こえるかもしれませんが、多くのタスク(SSH経由のリモート接続など)では、この瞬間が重要になることがあります。





(これらの行の後のEmacsユーザー)



さて、Vimとは何かを理解しましたが、Vimを使用する理由と方法を理解する必要があります。



「なぜ誰もがVimが好きで、可能な限りどこにでも追加できるのですか?」(ちなみに、Emacsにもあります。存在しないものをリストする方が簡単になっているようですが、それは話題外です。)この質問への答えは難しくありません-その哲学。



VIMでテキストを開始して入力することはできません。 これには別のモードがあります-「挿入モード」。 プログラムを起動すると、通常モードになります。通常モードでは、テキストを編集するためのコマンドを入力して、このエディターのさまざまなモードを切り替えることができます。 「しかし、それは不快です! テキストを印刷したいだけです!」純粋に技術的には、タイプライターもこのタスクに適していますが、皮肉なく答えます。 ほとんどのエディターがコードの作成に集中している場合、Vimはそれをテキスト編集に移行し、独自の方法で実行します。





(実際、この写真には深いサブテキストがあります。少し時間があれば、日本のRPGのペルソナシリーズについて読んでください。)



Vimコマンドを学習する際に理解する最も重要なことは、それらがほとんど孤立していないことです。 これは、動詞、名詞、形容詞(修飾子)に分けられている言語全体を考えてみましょう。 実際、各チームは単一のキャラクターであるにもかかわらず、各チームは英語の単語に類似しており、そのシーケンスは本格的な文章に翻訳することができます!







いくつかの例を見てみましょうが、最初に別の写真を持ちます(今回は何か役に立つものがあります):







1)。 d2w





==> 2つの単語を削除します。







2)。 AMew<Esc>





==>「Mew」行の最後に追加して、通常モードに戻ります。







3)。 f(ci(Pakahontas<Esc>





==>ブラケットのペアを見つけて、それらの内部コンテンツを「Pakahontas」に変更し、通常モードに戻ります。







ほら 絶対に複雑なことはありません! もちろん、このアプローチでは、すべての組み合わせを学ぶだけではなく、それらを感じる必要があるため、慣れて、継続的な練習が必要です。 Vimでコードを書くのは、タイプするのが速いからではなく(お気づきかもしれませんが、すでにゆっくりとタイプしているので、盲目的な方法はわかりません)、それはより自然だからです。 ctrl、shift、またはalt(それらにはコマンドがありますが、それらはほとんどありません)のヒープの代わりに、非常に理解しやすく、最も重要なのは、人道的な編集言語です。





(予想外ですよね?)



しかし、完了する前に、いくつかのコメントを挿入します。



I. Vimでは矢印とマウス(2つ目はファイル "〜/ .vimrc"で構成されています)を使用できますが、これは厳密には推奨されません。 テキスト(および画面)上にカーソルを移動するための、より興味深いコマンドがたくさんありますが、編集コマンドほど直感的ではなく、それらを詰め込む必要があります。





(ハッキングの時間です!)



II。 Vimには、他の多くのエディターと同様に、「:」キーが押されたときに呼び出されるコマンドモードがあります。 記号「!」 二重の意味があります:



a) ':'の直後にある場合、端末の本格的なコマンドがそれに続くことがあります。 それらのいくつかはエディター自体のコマンドとして複製されますが、例えばコンパイラーを呼び出すと便利です。



b) Vimコマンドの後にある場合、ファイルへの変更を保存せずに実行します。 ちなみに、これは1つのバグ(または、必要に応じて機能)に関連しています-テキストで何かをした場合、元の状態に戻しても、保存または指定しないとエディターは閉じません「!」





(Vimがあなたのデータをどのように気にしているのかをすでに感じましたか?



III。 上記の「〜/ .vimrc」では、さまざまなエディターおよびプラグインの設定を変更できます。 すべての好みと色の設定がありますが、それらはファイル自体にはありません。 デフォルトでは空です。 必要なパラメーターを見つけるには、「:help」コマンドを使用します。 その後、特定のコンポーネントまたはプラグインの名前を追加して、関心のある情報にすぐにジャンプできます。 しかし、もちろん、インターネットはこの点でより快適になります。







IV。 Vimには、ユーザーによって( "〜/ .vimrc"で)定義されるように設計されたコマンドがいくつかあります( 'q'など)。 ただし、それらの値を直接設定しようとすると、彼らは自分自身の後に2番目のコマンドを期待するので、遅れて応答します(決定する必要があります)。 ワンボタンコマンドが必要な場合は、「s」を使用することをお勧めします。 その機能は実質的に「c」と同じです。 言い換えれば、代替品を置き換えることができます。







V.チーム '。' このエディターで信じられないほどの力を持っています。 彼女は前のコマンド(またはそれらからの文全体)を繰り返す方法を知っています。 原則として、マクロを記録したくない場合は、「ペースト」でコードを埋めるための優れたツールです。







VI。 Vimは、いくつかの古い48K ZX Spectrumコンピューターを思い出させます。 ワンボタンコマンドもありましたが、基本プログラミング言語用でした。 したがって、開発者はプログラムに必要なRAMの量を削減しようとしました。







トレーニング資料として、vimtutorプログラムをお勧めします。 純粋に技術的には、Vimの短いチュートリアルでファイルを開くだけですが、このアプローチにより、理論部分の学習と並行して練習することができます。 そして、練習、練習、そして再び練習を!



まあ、実際には、私がVimについて言いたかったことすべてです。 正直なところ、私はこのエディターに完全に満足しています。 彼の哲学は非常に伝染性があり、全体としてUnixシステムに似ています(すべてがシンプルで明確で論理的ですが、慣れる必要があります)。 したがって、優れたテキストエディターを探している場合、またはテキストを編集する新しいエクスペリエンスを取得したい場合、より良い場所は見つかりません。



幸福、健康、そしてKDEが落ちないことを願っています!



ソース
1)トピックについて:

a)実際、vimtutor

b)キーボードの写真は、 viemuの Webサイトから撮影したものです

c)このトピックに関するウィキブックも読みます。

2)トピック外:

a)YoutubeのPersonaシリーズについては、詳細な分析を含む多くのビデオがあります。 おそらく最も価値のあるものは、Filinov のPlace kakalaのビデオですが、著者はこれまでのところ2番目の2番目の部分で停止しています(これはタイプミスではありません)。

b)Spectrumについて、最近良いビデオDmitry Moiseevを記録しました

c)私のプロフィール写真の写真の著者-Fluff-Kevlar



All Articles