2010-11-21 23 views
93

Me gustaría hacer de vim mi editor de C++. Tengo muy poca experiencia trabajando con él y necesito ayuda para configurar vim para trabajar con C++. necesito características tales comoAyuda con la configuración de Vim para C++

  • código completo (para STL y para mis clases)
  • conmutación entre .cc y .h
  • puede haber algunos más trucos que, C++ y vim gurús, tienen .

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

+3

1 por el puro masoquismo de querer utilizar vim como su IDE :) vim tiene sus usos (especialmente para la edición de archivos remotamente en mi experiencia), pero cualquiera que realmente * quiera * usarlo para la edición de código tiene chutzpah en mi opinión. –

+30

@sgolodetz: Entonces hay mucha gente con chutzpah por ahí. – Cascabel

+1

@Jefromi: Sí, me doy cuenta de que :) A mí siempre me ha parecido un masoquismo ... de una manera ligeramente admirable. –

Respuesta

116

Editar: actualizadas en julio de 2013

+0

He arreglado el enlace a mi suite C & C++ ftplugins. Gracias por la "publicidad" :) –

+0

También puedo recomendar el complemento FSwitch en lugar de un complemento. – W55tKQbuRu28Q4xv

+1

Luc's lhCpp es incompatible con vundle (creo que debido a svn repo) y no hay proceso de instalación que me guste personalmente, recomiendo consultar https://github.com/Raimondi/delimitMate – netpoetica

8

Estoy usando vim como mi editor de C++, sin embargo, no estoy usando muchas cosas 'exóticas'.

  • En cuanto a la terminación, estoy usando el no contextual ^P y ^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" que las 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 que realmente no podría vivir es Command-T (que requiere soporte de ruby)

  • Para fácil .cc a .h conmutación, puede intentar this plugin
+0

Buena función. Estaba buscando algo así ... – Jepessen

Cuestiones relacionadas