Vim これは、すべてのLinuxディストリビューションの非常に重要な部分であり、Linuxユーザーにとって(もちろんターミナルの後の)最も便利なツールです。少なくとも、この理論は私には当てはまります。プログラミング作業を非常に簡単にするさまざまなIDEやSublimeText3、Atomなどの他の洗練されたテキストエディタがあるため、プログラミングにはVimは適切ではないかもしれないと人々は主張するかもしれません。
私の考え
しかし、私が思うに、Vimは最初から私たちが望むように動作しますが、他のエディターは、実際に動作させたい方法ではなく、設計された方法で動作させます。他のエディターについてはあまり使用していないため、あまり言えません(Vimに偏っています)。
とにかく、Vimから何かを作りましょう。それは本当にジョブの神をうまくやってくれます。
VimforProgramming
コードの実行
シナリオを考えてみましょう。VimでC++コードを処理していて、それをコンパイルして実行する必要がある場合に何をしますか。
(a)。
(b)。そして、問題は解決していません。ターミナルで{g++fileName.cxx}のようなものを入力する必要があります。
(c)。その後、{./a.out}。
確かに、C ++コードをシェル上で実行するには、多くのことを行う必要がありました。しかし、これを行うのはVimの方法ではないようです(Vimは常にほとんどすべてを1〜2回のキー押下で維持する傾向があるため)。それで、このようなことをするVimの方法は何ですか?
The Vim Way
Vimは単なるテキストエディタではなく、テキストを編集するための一種のプログラミング言語です。そして、Vimの機能を拡張するのに役立つプログラミング言語は「VimScript」です。したがって、VimScriptを使用すると、キーを押すだけでコードのコンパイルと実行のタスクを簡単に自動化できます。
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042715095795.png)
上記は、CPP()という関数を作成した.vimrc構成ファイルの抜粋です。
VimScriptでの関数の作成
VimScriptで関数を作成するための構文は非常に簡単です。キーワード「機能」で始まります 」の後に関数名が続きます[関数名はVimScriptでは大文字で始まる必要があります。そうでない場合、Vimはエラーになります]。また、関数の終わりはキーワード「 endfunc」で示されます。 」。関数の本体には、 execが表示されます。 ステートメント、execキーワードがVimのコマンドモードで実行された後に書き込むものは何でも(Vimのウィンドウの下部にある:で始まるものを覚えておいてください)。さて、私が幹部に渡した文字列は–
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042715095861.png)
この関数が呼び出されると、最初にターミナル画面がクリアされ、表示されるのは出力だけになります。次に、作業中のファイル名に対してg ++が実行され、その後、作成されたa.outファイルが実行されます。コンパイル。Ctrl+rをマッピングしてC++コードを実行
————————————————————-
ステートメントをマッピングしました:call CPP()
最終結果
私たちはついにそのようなことをするVimの方法を見つけることができました。これで、ボタンを押すだけでC ++コードの出力が画面に表示されるので、それほど長いものを入力する必要はありません。時間の節約にもなります。
他の言語でもこの種の機能を実現できます。
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042715100006.png)
つまり、Pythonの場合:
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042715100104.png)
Javaの場合:
写真は終わっていない、深いレベルの行進
だから、これはあなたがVimであなたのやり方で働くために物事を操作する方法についてのすべてでした。さて、Vimでこれらすべてを実装する方法について説明します。これらのコードスニペットはVimで直接使用でき、その逆はVimのAutoCommands(autocmd)を使用することです。 autocmdの利点は、これらのコマンドをユーザーが呼び出す必要がなく、ユーザーが指定した特定の条件で自分で実行できることです。
この[autocmd]でやりたいのは、さまざまなプログラミング言語でコードの実行を実行するためにさまざまなマッピングを使用するのではなく、すべての言語で実行するための単一のマッピングが必要なことです。
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042715100221.png)
ここで行ったことは、コードを実行するための関数を持っているすべてのファイルタイプに対して自動コマンドを作成したことです。
上記のファイルタイプのいずれかのバッファを開くとすぐに、Vimは自動的に
この機能を実現するには、関数スニペットを[dot] vimrcに追加し、その後、それらすべてのautocmdを配置する必要があります。これで、次にVimを開いたときに、Vimには、まったく同じKeyBindingsですべてのコードを実行するためのすべての機能があります。
結論
それは今のところすべてです。このことがあなたのVimをさらに愛してくれることを願っています。私は現在、Vimで物事を調査し、ドキュメントなどを読み、[。vimrc]ファイルで追加を行っています。皆さんと共有できる素晴らしいものがあれば、また連絡します。
現在の[.vimrc]ファイルを確認したい場合は、Githubアカウントへのリンクを次に示します:MyVimrc。