Я пытаюсь перевернуть строку, чтобы это 'abc defg hij'
стало 'jih gfed cba'
. Решение, которое я придумал,
join(reverse(split(l:text, '.\zs')), '')
Есть ли более элегантное решение или я должен придерживаться того, что придумал?
vimscript
string-manipulation
Рене Ниффенеггер
источник
источник
split()
без{keepempty}
опции следует удалить один пустой элемент в начале и один пустой элемент в конце. В настоящее время он удаляет все пустые элементы, включая те, что находятся в середине списка (что более полезно, чем задокументированное поведение, если вы спросите меня, но, вероятно, это не так). Я думаю, что это обсуждалось недавноvim_dev
.Ответы:
Ваше решение очень элегантно! Альтернатива, если вы используете env на основе Unix:
источник
Из викия
Для более подробной информации смотрите:
:h revins
источник
Если вы используете unix-подобную систему, в vim введите ex-command
:%! rev
источник