Załóżmy, że uruchamiasz następujący fragment vimscript:
let @z = system("date")
Spowoduje to umieszczenie wersji rejestru bieżącej daty w rejestrze Z, ale ciąg zakończy się nową linią, której nie chcę. Czy istnieje wbudowany sposób (podobny do Perla chomp
), aby pozbyć się nowych linii ciągu?
call
składnia? Dlaczego nie podaćChomp
parametru o nazwie,string
a następnie przejśća:string
dosubstitute
?Chomp()
przekazuje wszelkie argumenty, do których się dochodzisystem()
, usuwając końcowy znak nowej linii z jego wyniku i zwracając to.system()
ma opcjonalny{input}
argument, który obsługuje ogólnie dowolny z nich. Jeśli nie potrzebujesz tego, po prostu zrób to w tradycyjny sposób.usuwa dla ciebie nowy wiersz.
źródło
\n
nowa linia.systemlist()
usuwa tylko\n
, nie żadnych\r
.Christian Brabandt wymienił wiele różnych metod na superuser.com.
Podoba mi się ten, ponieważ jest krótki:
źródło
\r\n
typem zakończeń linii ...\n
przed ich zwróceniem.