VIMの下でC++を書くのはどんなに爽やかですか?

7301 ワード

私は確固たるVim党で、命令行との統合がこのように良いため、Vimはいかなる問題を解決することができます.しかし、この世界では、最も使いやすいツールでも構成する必要があります.本稿では、C++を書くのに適したVimエディタを作ります!
基本設定
ほとんどのUnixソフトウェアのように、Vimもテキストベースのプロファイルを使用しています.現在のユーザのVim構成はこのファイルに格納され、そのファイルの各行は1つの構成項目である(~/.vimrcを除く).
プロファイル内のすべての文は、Vimを開くとExモードで実行されます.たとえば、Vimで行番号を開きます.
:set number

プロファイルに追加できます.
" ~/.vim
set number

同様に重要な構成は次のとおりです.
  • 構文ハイライトを開きます:function
  • Tabサイズ:syntax on
  • インデントサイズ:set tabstop=4
  • Vimは典型的なUnixプログラムであり、上記のコマンドは省略されている:number(nu)、tabstop(ts)、shiftwidth(sw)、etc.
    基礎構成項目の詳細については、私の別のブログ:vimの構成と使用を参照してください.
    自動補完
    自動補完はおそらくコードエディタの最も重要な特性であり、どれだけの人の面接の道を破壊したかはさておきます.
    Vimプラグインのスタイル、使い方が多様化しすぎているため、多言語の自動補完には様々な衝突があり、調整に多くの精力が必要です.しかし、Githubの登場はVimプラグインに新しい活力をもたらし、手動でvimに行く必要がなく、GithubベースのVundleでプラグインをインストールしました.ortでプラグインを探しました.
    くだらないことは言わないで、私が推薦したプラグインはYouCompleteMeと言って、図を見て!
    YouCompleteMeはフル機能:
  • は自動的に補完され、名前を書く過程でプロンプトリストが表示され、各項目の関数署名(関数パラメータリスト)が与えられます.
  • 文法エラー、警告のヒント.変数が使用されていない、関数が定義されていないなど、多くのコンパイルwarningが直接提示され、特に不思議です.

  • 構成は簡単ですが、Vundlevundle(ない場合)をインストールする必要があります.また、MacOSユーザーであれば、Vimが7.4にアップグレードされていることを確認します.HomeBrewの使い方は本文ではくどくど言わない.
    かっこ/引用符の一致
    かっこと引用符の自動補完とスマートマッチング.例:
  • 入力前括弧補完後括弧
  • は1対の括弧の間で車に戻り、自動的に3行に分けて
  • インデントを調整する.
  • 入力前引用符自動補完後引用符
  • いろいろ...2つ目は最も実用的な機能だと思います.特に関数やクラスを書くときです.
    上記のかっこ、引用符のマッチングはdelimitMateで解決できます.公式サイト:
    https://github.com/Raimondi/delimitMate
    ダウンロード後、set shiftwidth=4autoloadplugindocにコピーすればいいです.
    Formatter
    フォーマットプログラムは、怠け者や強迫症のユーザーにとって非常に必要です.Vimのデフォルト構成ではフォーマット機能が提供されていますが、明らかに私たちが望んでいるのはもっと多いです!例えば、私は以下のことを望んでいます.
  • 前括弧は改行せず、後括弧は
  • 改行する.
  • すべての演算子の両方にスペースがあります
  • ワンタッチで現在のファイルをフォーマットする
  • 保存時自動フォーマット
  • ...

  • ここで推奨するプラグインはvim-autoformatと呼ばれ、上記のニーズを完璧に解決することができます.ドキュメント参照でインストールすれば良いです.
    vim-autoformatはフォーマットプログラムフレームワークにすぎず、コードスタイルチェックツールに依存してフォーマットされていることに注意してください.これらのツール:astyle、js-beautifyなどを個別にインストールする必要があります.ここには完全なリストがあります.https://github.com/Chiel92/vim-autoformat#default-formatprograms.
    コードスタイルをカスタマイズする場合は、~/.vim/にパーソナライズされたformatterを追加できます.
    let g:formatdef_harttle = '"astyle --style=attach --pad-oper"'
    let g:formatters_cpp = ['harttle']
    let g:formatters_java = ['harttle']
    

    たとえばastyleをインストールしました.ここではharttleというformatterを定義します.次に、cppとjavaのformatterに設定します..vimrcがなぜこのように書かれたのかについては、Astyleのドキュメントを表示できるBashコマンドです.現在のファイルをフォーマットするショートカットF 3があります.
    " file: ~/.vimrc
    noremap <F3> :Autoformat<CR>
    

    図を見て!
    コメント
    注釈、逆注釈はコードエディタの一般的な操作であり、Vimでショートカットキーを簡単に設定することもできます.しかし、異なる言語の注釈スタイルが異なるため、astyle --style=attach --pad-operの下で複数のプロファイルを書く必要がある可能性があります.とにかく煩わしいです.NERD Commenterというプラグインを導入できます.
    https://github.com/scrooloose/nerdcommenter
    これはコミュニティでとても人気のあるプラグインで、O(∩∩)O~.ダウンロード後、ftpluginの下に直接コピーすればいいです.ドキュメントを表示したい場合は、VIM DOCを更新するだけです.
    :helptags ~/.vim/doc
    

    その後、~/.vimを押すと注釈ができ、\ccは逆注釈になります.前に行数を1つ追加できます~
    コンパイル/実行
    Vimショートカットを上手に定義できれば、下を見る必要はありません.
    次の3行には、実行、コンパイル、デバッグのショートカットキーがそれぞれ設定されており、\cuは、このショートカットキーがnormalモードで機能していることを示しています.nは、定義が再帰的に伝達されないことを示す.noreはリターンであり、はシェル命令の実行を示す.
    nnoremap <F5>   <Esc>:w<CR>:!g++ -std=c++11 % -o /tmp/a.out && /tmp/a.out<CR>
    nnoremap <F7>   <Esc>:w<CR>:!g++ -std=c++11 %<CR>
    nnoremap <C-F5> <Esc>:w<CR>:!g++ -std=c++11 -g % -o /tmp/a.out && gdb /tmp/a.out<CR>
    

    もちろん、上記のコードを!に直接追加すると、すべてのタイプのファイルに上記の3つのショートカットキーがあります.これは私たちが望んでいない結果かもしれませんが、各ファイルタイプの~/.vimrcが自分の実行コマンドを実行することを望んでいます.
    ファイルタイプの識別とファイルタイププラグインの定義が必要です.別の記事を参照してください.Vimの強さを感じてください.ステップアップテクニック
    明記しない限り、本ブログの文章はすべてオリジナルで、転載はリンク形式で本文の住所を明記してください.http://harttle.land/2015/07/18/vim-cpp.html