Neovim에서 C++ 환경을 정리해 보았습니다.
소개
연구실에 배속되어, 드디어 도망쳐 온 C++를 쓰게 되었기 때문에 공부가 되어 환경설정을 하고 있었습니다.
그 환경 설정의 비망록으로 기사를 씁니다.
환경
Plugin은 dein을 사용합니다.
설치할 것
위 2개는 보완용
맨 아래의 것은 linter 같은 것입니다. 어쩌면.
저는 세이브시 자동으로 수정하도록 하고 있습니다.
설치
dein_lazy.toml
[[plugins]]
repo = "Shougo/deoplete.nvim"
on_i = 1
on_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
" autocmd InsertLeave,CompleteDone * if pumvisible() == 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 | endif
)특히 신경이 쓰이지 않는다고 하는 사람은 없어도 좋다고 생각합니다.
zchee/deoplete-clang
이것은 deoplete.nvim의 C, C++용 확장과 같습니다.
사용하려면 Clang 등의 패스를 통과할 필요가 있습니다.
패스에 대해서는, 나는 XCode의 것을 사용했습니다.
적절히 패스는 바꿀 수 있으면 좋을지도 모릅니다.
rhysd/vim-clang-format
저는 저장 시 C++ 형식을 정리하도록 하고 있습니다.
조사해 보면, 코드 규약은 여러 가지 있는 것 같다.
나는 특별한 조건이 없기 때문에 Google을 사용하고 있습니다.
마지막으로
그 밖에 조사해 보면, thinca/vim-quickrun 를 사용해 자동 컴파일이라도 좋았다.
이것은 또한 필요하다면 추가해 볼까.
일단 이것이 스쿠쇼입니다.
deoplete에서 [clang]이 나오면 deoplete-clang의 도입이 성공했다고 생각합니다.
Reference
이 문제에 관하여(Neovim에서 C++ 환경을 정리해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kitagry/items/9bf8a455d31140d3ef6b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)