J'essaie d'inverser une chaîne, ce qui 'abc defg hij'
devient 'jih gfed cba'
. La solution que j'ai trouvée est
join(reverse(split(l:text, '.\zs')), '')
Existe-t-il une solution plus élégante ou dois-je m'en tenir à ce que j'ai trouvé?
vimscript
string-manipulation
René Nyffenegger
la source
la source
split()
sans l'{keepempty}
option devrait supprimer un seul élément vide au début et un seul élément vide à la fin. Il supprime actuellement tous les éléments vides, y compris ceux au milieu de la liste (ce qui est plus utile que le comportement documenté si vous me le demandez, mais ce n'est probablement pas le cas). Je pense que cela a été discuté récemmentvim_dev
.Réponses:
Votre solution est très élégante! Une alternative si vous êtes dans un environnement basé sur Unix:
la source
Depuis Wikia
Pour plus d'informations, voir:
:h revins
la source
Si vous utilisez un système de type Unix, dans vim, tapez ex-command
:%! rev
la source