Neovim에서 C++ 환경을 정리해 보았습니다.

4226 단어 C++Vimneovim

소개



연구실에 배속되어, 드디어 도망쳐 온 C++를 쓰게 되었기 때문에 공부가 되어 환경설정을 하고 있었습니다.
그 환경 설정의 비망록으로 기사를 씁니다.

환경


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

  • Plugin은 dein을 사용합니다.

    설치할 것


  • Shougo/deoplete.nvim
  • zchee/deoplete-clang
  • rhysd/vim-clang-format

  • 위 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의 도입이 성공했다고 생각합니다.

    좋은 웹페이지 즐겨찾기