Ejecutar contenido del búfer como vimscript


10

Tengo un nofilebúfer que contiene vimscript y quiero ejecutarlo. Sin embargo, :so % no funcionará porque requiere un archivo guardado, no un búfer. ¿Hay un comando vim para hacer esto por defecto? Si no, ¿es posible crear una función que haga lo mismo?

Respuestas:


13

Sí, puede tirar de todo el búfer con ggyGo :%yy ejecutarlo con :@".

En breve:

:%y|@"<CR>

Utilizado en un mapeo:

nnoremap <key> :%y|@"<CR>

Se usa en un comando flexible que funciona en todo el búfer de forma predeterminada o en un rango opcional:

command! -bar -range=% Foo execute <line1> . ',' . <line2> . 'y|@"'

le faltan dos puntos en el primer comando.
Vitor

Además, esto golpea el "registro. Me imagino que podría usar otro registro si quisiera, o simplemente podría guardar el "registro y restaurarlo después.
EvergreenTree
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.