Katakanlah saya punya
let l:letter = 'A'
apakah ada fungsi yang mengambil l:letter
kode ascii dan mengubahnya 'B'
? Maksud saya sesuatu seperti
let l:next_letter = l:letter + 1
Saya tahu ada <Ctrl-A>
dengan set nf=alpha
, tapi itu perlu memiliki kursor di atas karakter dalam dokumen dan saya bertanya-tanya apakah mungkin untuk melakukannya dengan variabel tanpa memodifikasi dokumen.
Inilah yang saya coba sejauh ini, tetapi seperti yang saya katakan, itu memodifikasi dokumen dan posisi kursor:
fu! s:get_next_char(letter)
set nf=octal,hex,alpha
call setline(line('$') + 1, a:letter)
exe ':normal! G^'."\<C-A>"
set nf=octal,hex
let l:next_letter = getline('$')
normal! Gdd
return l:next_letter
endfu
string-functions
bukan halaman manual standar global untuk setiap bahasa, serius.
:help string-functions
sebagai sedikit tidak jelas. Juga, beberapa bahasa scripting seperti penggunaan python dan perl chr()
dan ord()
fungsi untuk mengkonversi ke ascii / karakter. Jadi mencari dengan istilah-istilah ini masih tidak akan muncul nr2char
dan char2nr
berfungsi dengan baik. Saya pikir komentar @ romainl seharusnya diposting sebagai jawaban.
man man
. :help :help
sama pentingnya. Tetapi dokumentasi vim cukup besar dan sulit untuk ditemukan pada tahun-tahun pertama. Dengan demikian trik seperti :h function^D
memberi kami poin entri. Ini dia :h functions
(/ :h string-functions
). Maka, mudah untuk memahami apa yang melakukan apa. Bahkan jika kita terbiasa dengan bahasa lain. Kami selalu dapat memberikan informasi (itu yang paling sering kami lakukan), tetapi mengajarkan cara memancing itu lebih penting - Anda tahu pepatahnya ...
:help string-functions
tidak menunjukkan cara memancing. Ini lebih seperti memberi seseorang umpan dan tidak mengajari mereka memancing sama sekali. Memposting bagaimana mereka dapat mencari fungsi, mengajarkan mereka untuk memancing.
:help string-functions
.