Предположим, вы запустили следующий фрагмент vimscript:
let @z = system("date")
Это поместит строковую версию текущей даты в регистр z, но строка будет заканчиваться символом новой строки, который мне не нужен. Есть ли встроенный способ (похожий на Perl chomp
), чтобы избавиться от завершающих строк строки?
call
синтаксис? Почему бы просто не датьChomp
параметр с именем ,string
а затем перейтиa:string
кsubstitute
?Chomp()
что передает все аргументы, которые он получает, удаляет завершающий символsystem()
новой строки из его вывода и возвращает его.system()
имеет необязательный{input}
аргумент, и это обрабатывает любой из них в общем. Если вам это не нужно, просто сделайте это обычным способом.удаляет новую строку для вас.
источник
\n
для новой строки.systemlist()
только удаляет\n
, а не любой\r
.Кристиан Брабандт перечислил несколько различных методов на superuser.com.
Мне нравится этот, потому что он короткий:
источник
\r\n
типы окончаний строк ...\n
как их вернуть.