Saya mencoba membalikkan sebuah string, sehingga 'abc defg hij'
menjadi 'jih gfed cba'
. Solusi yang saya temukan adalah
join(reverse(split(l:text, '.\zs')), '')
Apakah ada solusi yang lebih elegan atau haruskah saya tetap dengan apa yang saya hasilkan?
vimscript
string-manipulation
René Nyffenegger
sumber
sumber
split()
tanpa{keepempty}
opsi harus menghapus satu item kosong di awal, dan satu item kosong di akhir. Saat ini menghapus semua item kosong, termasuk yang ada di tengah daftar (yang lebih berguna daripada perilaku yang didokumentasikan jika Anda bertanya kepada saya, tetapi Anda mungkin tidak). Saya pikir ini telah dibahas baru-baru inivim_dev
.Jawaban:
Solusi Anda sangat elegan! Alternatif jika Anda berada di env berbasis Unix:
sumber
Dari wikia
Untuk lebih lanjut lihat:
:h revins
sumber
Jika Anda menggunakan sistem seperti unix, di vim, ketikkan ex-command
:%! rev
sumber