2011-07-01 14 views
29

Uso vim para la codificación. Cuando tengo que compilar el archivo actual, actualmente utilizo :!g++ % && ./a.out o :make. Los errores/salida mostrados desaparecen cuando presiono enter y vuelvo al archivo. Deseo que los errores y el resultado se muestren en una división vertical por el lado. Sería bueno si los flujos de salida y error están en búferes separados. ¿Cómo puede hacerse esto? Los errores y los búfers de salida se deben actualizar cuando vuelva a compilar y no se deben crear nuevos búferes. ¿Cómo se puede hacer esto? Algunos vim pluggin/función? o un oneliner: P?¿Cómo ejecutar make en vim y abrir resultados en una ventana dividida?

Respuesta

40
+0

wow. ¡estupendo! ¿Puedo tener una división vertical en lugar de una división horizontal? – balki

+2

@balki, intenta poner un 'vert' justo antes del' copen'. –

+1

Sí, simplemente use '' vert copen'' en lugar de '' copen''. Consulte http://vimdoc.sourceforge.net/htmldoc/windows.html#opening-window para obtener más información. –

-1

Si desea compilar y ejecutar si compilación tuvo éxito. (Es decir !g++ % && ./a.out)

crear una secuencia de conchas con la siguiente línea,

g++ $1 -o /tmp/a.out && /tmp/a.out

Ahora ajuste el makeprg como este. set makeprg=compileNrun.sh\ %

No se puede establecer todo el comando directamente como makeprg debido a &&. Si se establece en makeprg directamente, el comando anterior se ampliará a,

!g++ file.C -o /tmp/a.out && /tmp/a.out 2>&1 | tee /tmp/errorFile

Por lo tanto errores de compilación suele ser redirigido a un archivo de error si la compilación falló; P como && tiene prioridad sobre |

Cuestiones relacionadas