Configuración de Vim para C ++

118

Me gustaría hacer de vim mi editor de C ++. Tengo muy poca experiencia trabajando con él y necesito ayuda para configurar vim para que funcione con C ++. Necesito características como

  • código completo (para stl y para mis clases)
  • cambiar entre archivos .cc y .h
  • puede haber algunos trucos más que ustedes, los gurús de C ++ y vim, tengan.

¿Podría proporcionar algunas configuraciones (con explicaciones) o enlaces a tutoriales, complementos que podría utilizar?

Draco Ater
fuente
7
+1 por el puro masoquismo de querer usar vim como su IDE :) vim tiene sus usos (especialmente para editar archivos de forma remota en mi experiencia), pero cualquiera que realmente quiera usarlo para la edición de código tiene descaro en mi opinión.
Stuart Golodetz
38
@sgolodetz: Entonces hay bastantes personas con descaro por ahí.
Cascabel
1
@Jefromi: Sí, me doy cuenta de que :) Aunque siempre me ha parecido un masoquismo ... de una manera un poco admirable.
Stuart Golodetz
4
En retrospectiva, supongo que publicar el equivalente de "Tengo un poco de dudas acerca de vim" en una publicación que probablemente sea frecuentada por muchos entusiastas de vim podría haber sido un poco provocativo: estaba destinado a ser una burla. Sin embargo, es un comentario de mejilla en lugar de comenzar una discusión.
Stuart Golodetz
1
Di esta respuesta que inicialmente estaba restringida al desarrollo de C. Sin embargo, todo lo que dije sigue siendo válido para C ++.
Luc Hermitte

Respuestas:

142

Editar: actualizado en julio de 2013

Gracias DK
fuente
He arreglado el enlace a mi suite ftplugins de C & C ++. Gracias por la "publicidad" :)
Luc Hermitte
También puedo recomendar el complemento FSwitch en lugar de un complemento.
W55tKQbuRu28Q4xv
1
El lhCpp de Luc es incompatible con vundle (creo que debido al repositorio svn) y ningún proceso de instalación me gusta personalmente - recomiendo revisar github.com/Raimondi/delimitMate
netpoetica
2
+1 una respuesta muy completa (y actualizada) lo merece, es bueno ver que algunos de los miembros más solitarios publican estas excelentes respuestas. Cuán completa sea su respuesta, es bastante útil, aunque al mismo tiempo no abruma, incluso para un nuevo usuario de vim.
osirisgothra
1
¿Qué hay de vim-rtags? Es bueno para la navegación de código C ++, tiene una función de cambio de nombre.
P4C
8

Lo estoy usando vimcomo mi editor de C ++, sin embargo, no estoy usando muchas cosas 'exóticas'.

  • Con respecto a la finalización, estoy usando el no contextual ^Py ^N.
  • Tengo un montón de abreviaturas definidas por el usuario para mi uso de C ++, por ejemplo:

    abbreviate bptr boost::shared_ptr
    abbreviate cstr const std::string &
  • Tengo varias funciones para "fragmentos de código" como cosas, por ejemplo:

    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
  • El único complemento sin el que realmente no podría vivir es Command-T (que requiere compatibilidad con ruby)

  • Para una fácil .ccde .hconmutación, puede probar este plugin
hielo
fuente