Mengonfigurasi Vim untuk C ++

118

Saya ingin menjadikan vim editor C ++ saya. Saya memiliki sedikit pengalaman bekerja dengannya dan membutuhkan bantuan dalam mengkonfigurasi vim untuk bekerja dengan C ++. Saya membutuhkan fitur seperti

  • kode-lengkap (untuk stl dan untuk kelas saya)
  • beralih antara file .cc dan .h
  • mungkin ada beberapa trik lagi yang Anda, C ++ dan guru vim, miliki.

Mungkin Anda bisa memberikan beberapa konfigurasi (dengan penjelasan), atau tautan ke tutorial, plugin yang dapat saya gunakan?

Draco Ater
sumber
7
1 untuk masokisme belaka yang ingin menggunakan vim sebagai IDE Anda :) vim memiliki kegunaannya (terutama untuk mengedit file dari jarak jauh menurut pengalaman saya), tetapi siapa pun yang benar-benar ingin menggunakannya untuk pengeditan kode memiliki chutzpah dalam pandangan saya.
Stuart Golodetz
38
@sgolodetz: Lalu ada cukup banyak orang dengan chutzpah di luar sana.
Kaskabel
1
@Jefromi: Ya, saya benar-benar menyadari bahwa :) Bagi saya, itu selalu tampak seperti masokisme ... dalam cara yang agak mengagumkan.
Stuart Golodetz
4
Dalam retrospeksi, saya kira posting yang setara dengan "Saya agak meragukan vim" pada posting yang cenderung sering dikunjungi oleh banyak penggemar vim mungkin sedikit provokatif - itu dimaksudkan untuk menjadi lidah-di- komentar pipi daripada awal argumen sekalipun.
Stuart Golodetz
1
Saya memberikan jawaban ini yang awalnya terbatas pada pengembangan C. Namun setiap hal yang saya katakan masih berlaku untuk C ++.
Luc Hermitte

Jawaban:

142

Edit: Diperbarui pada Juli 2013

Thanh DK
sumber
Saya telah memperbaiki tautan ke suite ftplugins C & C ++ saya. Terima kasih atas "periklanan" :)
Luc Hermitte
Juga saya dapat merekomendasikan plugin FSwitch daripada plugin A.
W55tKQbuRu28Q4xv
1
LhCpp Luc tidak kompatibel dengan vundle (saya pikir karena repo svn) dan tidak ada proses instalasi yang saya suka secara pribadi - rekomendasikan untuk memeriksa github.com/Raimondi/delimitMate
netpoetica
2
Memberi +1 pada jawaban yang sangat lengkap (dan terkini) layak mendapatkannya, senang melihat beberapa anggota yang lebih tertutup memposting jawaban yang luar biasa ini. Seberapa teliti jawaban Anda, cukup membantu, sementara pada saat yang sama tidak berlebihan, bahkan untuk pengguna vim baru.
osirisgothra
1
Bagaimana dengan vim-rtags? Ini bagus untuk navigasi kode c ++, memiliki fungsionalitas ganti nama.
P4C
8

Saya menggunakan vimeditor C ++ saya, namun saya tidak menggunakan banyak hal 'eksotis'.

  • Mengenai penyelesaian, saya menggunakan non-kontekstual ^Pdan ^N.
  • Saya memiliki banyak singkatan yang ditentukan pengguna untuk penggunaan C ++ saya, misalnya:

    abbreviate bptr boost::shared_ptr
    abbreviate cstr const std::string &
  • Saya memiliki beberapa fungsi untuk "cuplikan kode" seperti hal-hal, misalnya:

    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
  • Satu-satunya plugin yang benar-benar saya tidak bisa hidup tanpanya adalah Command-T (yang membutuhkan dukungan ruby)

  • Untuk mudah .ccuntuk .hswitching, Anda dapat mencoba plugin ini
icecrime.dll
sumber