Digamos que eu tenho
let l:letter = 'A'
existe uma função que pega o l:lettercódigo ascii e o transforma 'B'? Quero dizer algo como
let l:next_letter = l:letter + 1
Eu sei que há <Ctrl-A>com set nf=alpha, mas isso exige que tenhamos o cursor sobre o personagem no documento e eu queria saber se é possível fazê-lo com uma variável sem modificar o documento.
Aqui está o que eu tento até agora, mas como eu disse, ele modifica o documento e a posição do cursor:
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-functionsnão é uma página de manual padrão global para todos os idiomas, sério.
:help string-functionscomo um pouco obscuro. Além disso, algumas linguagens de script como python e perl usam chr()e ord()funções para converter para ascii / character. Portanto, a pesquisa com esses termos ainda não mostraria as funções nr2chare char2nr. Acho que o comentário de @ romainl deve ser postado como resposta.
man man. :help :helpé igualmente importante. Mas a documentação do vim é bastante massiva e difícil de entender nos primeiros anos. Assim, truques como :h function^Dnos dão pontos de entrada. Aqui seria :h functions(/ :h string-functions). Então, é fácil entender o que está fazendo o que. Mesmo se estivermos acostumados a outros idiomas. Nós sempre pode dar a informação (que é o que estamos fazendo na maioria das vezes), mas ensinar a pescar é mais importante - você sabe o provérbio ...
:help string-functionsnão está mostrando como pescar. É mais como dar a isca a alguém e não ensiná-lo a pescar. Postar como eles podem procurar funções, é ensiná-los a pescar.
:help string-functions.