C ++ 용 Vim 구성


118

vim을 C ++ 편집기로 만들고 싶습니다. 작업 경험이 거의 없으며 C ++에서 작동하도록 vim을 구성하는 데 도움이 필요합니다. 다음과 같은 기능이 필요합니다.

  • 코드 완성 (stl 및 내 클래스 용)
  • .cc와 .h 파일 간 전환
  • C ++ 및 vim 전문가가 가지고있는 트릭이 더 많을 수 있습니다.

몇 가지 구성 (설명 포함)이나 튜토리얼 링크, 내가 사용할 수있는 플러그인을 제공 할 수 있습니까?


7
vim을 IDE로 사용하려는 순전 한 마조히즘에 +1 :) vim은 용도가 있지만 (특히 내 경험상 원격으로 파일을 편집하는 데) 실제로 코드 편집에 사용 하려는 사람 은 내 관점에서 chutzpah를 사용합니다.
Stuart Golodetz 2010

38
@sgolodetz : 그렇다면 chutzpah를 가진 사람들이 꽤 많이 있습니다.
Cascabel

1
@Jefromi : 예, 나는 그것을 깨달았습니다 :) 그것은 나에게 항상 마조히즘처럼 보였습니다 ... 약간의 훌륭한 방식으로.
Stuart Golodetz 2010

4
돌이켜 보면 많은 vim 애호가들이 자주 볼 수있는 게시물에 "I 'm a little douious about vim"과 같은 내용을 게시하는 것은 약간 도발적이었을 것입니다. 그러나 논쟁의 시작보다는 뺨 코멘트.
Stuart Golodetz 2010

1
처음에는 C 개발로 제한되었던 이 답변 을 제공 했습니다 . 그러나 내가 말한 모든 것은 C ++에서 여전히 유효합니다.
Luc Hermitte

답변:


142

편집 : 2013 년 7 월 업데이트 됨


내 C & C ++ ftplugins 제품군에 대한 링크를 수정했습니다. "광고"에 감사드립니다 :)
Luc Hermitte

또한 A 플러그인 대신 FSwitch 플러그인을 추천 할 수 있습니다.
W55tKQbuRu28Q4xv 2013

1
체크 아웃하는 것이 좋습니다 - 루크의 lhCpp (나는 SVN의 repo로 인해 생각하지) 않고 내가 개인적으로 좋아하는 설치 프로세스 vundle와 호환되지 github.com/Raimondi/delimitMate
netpoetica

2
매우 완전한 (최신) 답변을 +1하면 그럴만 한 가치가 있습니다. 이러한 훌륭한 답변을 게시하는 더 은밀한 회원을 보는 것은 기쁩니다. 귀하의 답변이 얼마나 철저한가는 새로운 vim 사용자에게도 압도적이지 않은 동시에 매우 유용합니다.
osirisgothra

1
vim-rtags는 어떻습니까? C ++ 코드 탐색에 좋고 이름 바꾸기 기능이 있습니다.
P4C

8

저는 vim제 C ++ 편집기로 사용하고 있지만 '이국적인'것들은 많이 사용하지 않습니다.

  • 완성과 관련하여 비 문맥 ^P^N.
  • 내 C ++ 사용에 대한 사용자 정의 약어가 많이 있습니다. 예를 들면 다음과 같습니다.

    abbreviate bptr boost::shared_ptr
    abbreviate cstr const std::string &
  • 예를 들어 다음과 같은 "코드 조각"에 대한 몇 가지 기능이 있습니다.

    function! IncludeGuard()
      let basename = expand("%:t:r")
      let includeGuard = '__' . basename . '_h__'
      call append(0, "#ifndef " . includeGuard)
      call append(1, "#define " . includeGuard)
      call append(line("$"), "#endif /* !" . includeGuard . " */")
    endfunction
  • 내가 없이는 살 수없는 유일한 플러그인은 Command-T (루비 지원이 필요함)입니다.

  • 쉽게 들어 .cc.h전환, 당신은 시도 할 수 있습니다 이 플러그인을

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.