Suponha que você execute a seguinte parte do vimscript:
let @z = system("date")
Isso colocará uma versão em cadeia da data atual no registro z, mas a cadeia terminará com uma nova linha que eu não quero. Existe uma maneira embutida (semelhante à do Perl chomp
) de livrar-se das novas linhas finais de uma string?
call
sintaxe estranha ? Por que não darChomp
um parâmetro chamadostring
e depois passara:string
parasubstitute
?Chomp()
está passando os argumentos a que se dedica, retirasystem()
a nova linha à direita de sua saída e retorna isso.system()
possui um{input}
argumento opcional , e isso lida com qualquer um deles genericamente. Se você não precisar disso, faça da maneira convencional.remove a nova linha para você.
fonte
\n
nova linha.systemlist()
remove apenas o\n
, não nenhum\r
.Christian Brabandt listou vários métodos diferentes no superuser.com.
Eu gosto deste porque é curto:
fonte
\r\n
tipo de terminações de linha ...\n
antes de devolvê-las.