Supongamos que ejecuta el siguiente fragmento de vimscript:
let @z = system("date")
Esto colocará una versión de cadena de la fecha actual en el registro z, pero la cadena terminará con una nueva línea que no quiero. ¿Existe una forma integrada (similar a la de Perl chomp
) para deshacerse de las nuevas líneas finales de una cadena?
call
sintaxis extraña ? ¿Por qué no simplemente darChomp
un parámetro llamadostring
y luego pasara:string
asubstitute
?Chomp()
pasa todos los argumentos a los que llegasystem()
, quitando la nueva línea final de su salida y devolviéndola.system()
tiene un{input}
argumento opcional , y este maneja cualquiera de estos genéricamente. Si no necesita esto, simplemente hágalo de la manera convencional.elimina la nueva línea por ti.
fuente
\n
para nueva línea.systemlist()
solo elimina el\n
, no ninguno\r
.Christian Brabandt ha enumerado varios métodos diferentes en superuser.com.
Me gusta este porque es corto:
fuente
\r\n
tipo de terminaciones de línea ...\n
antes de devolverlas.