Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

NeovimでC++の環境を整えてみた

$
0
0

はじめに

研究室に配属されて、とうとう逃げ続けてきたC++を書くことになったので勉強がてら環境設定をしていました。
その環境設定の備忘録として記事を書きます。

環境

  • OS: MacOS High Sierra
  • neovim: v0.2.2

Pluginはdeinを使用しています。

インストールするもの

上の2つは補完用
一番下のものはlinterみたいなものです。多分。
僕はセーブ時に自動で修正するようにしています。

インストール

dein_lazy.toml
[[plugins]]repo="Shougo/deoplete.nvim"on_i=1on_event="InsertCharPre"hook_source="""
  let g:deoplete#enable_at_startup = 1
  let g:deoplete#auto_complete_delay = 0
  let g:deoplete#auto_complete_start_length = 1
  let g:deoplete#enable_camel_case = 0
  let g:deoplete#enable_ignore_case = 0
  let g:deoplete#enable_refresh_always = 0
  let g:deoplete#enable_smart_case = 1
  let g:deoplete#file#enable_buffer_path = 1
  let g:deoplete#max_list = 10000
  set completeopt-=preview
  "autocmdInsertLeave,CompleteDone*ifpumvisible()==0|pclose|endif"""[[plugins]]repo="zchee/deoplete-clang"on_ft="cpp"depends="deoplete.nvim"hook_add="""
let g:deoplete#sources#clang#libclang_path='/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libclang.dylib'
let g:deoplete#sources#clang#clang_header='/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang'
"""[[plugins]]repo="rhysd/vim-clang-format"on_ft="cpp"hook_add="""
function! CPPCodeCleanup()
  let l:lines='all'
  let g:clang_format_fallback_style = 'Google'
  :pyf /usr/local/share/clang/clang-format.py
endfunction
command! CPPCodeCleanup call CPPCodeCleanup()
autocmd BufWrite *.{cpp} :CPPCodeCleanup
"""

Shougo/deoplete.nvim

Shougo/deoplete.nvimは言わずとしれた補完用のプラグインですね。
これはneovim使ってる人だったらだいたい知ってるんじゃないかなと思います。

コメントアウトしているautocmd InsertLeave,CompleteDone * if pumvisible() == 0 | pclose | endifdeoplete-clangの使用時にneovimの上にプレビューウィンドウが出てくるんですが、それを補完終了時に閉じてくれるというものです。
僕はそもそも、プレビューウィンドウいらないなと思って、最初から出ないようにしています。(set completeopt-=preview)
特に気にならないと言う人は無くてもいいと思います。

zchee/deoplete-clang

これはdeoplete.nvimのC, C++用の拡張みたいなものです。
使用するにはClang等のパスを通す必要があります。

パスについては、僕はXCodeのものを使用しました。
適宜パスは変えてもらえるといいかもです。

rhysd/vim-clang-format

僕は保存時にC++のフォーマットを整理するようにしています。
調べてみたら、コード規約は色々あるみたい。
僕は特にこだわりが無いのでGoogleを使っています。

最後に

他に調べてみたら、thinca/vim-quickrunを使って自動コンパイルとかも良さげだった。
これはまた必要になったら追加してみようかな。

一応これがスクショです。
deopleteで[clang]が出てきていたら、deoplete-clangの導入は成功していると思います。

スクリーンショット 2018-04-23 8.31.08.png


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>