Sagen wir, ich habe
let l:letter = 'A'
l:letter
Gibt es eine Funktion, die ASCII-Code aufnimmt und in diesen umwandelt 'B'
? Ich meine so etwas wie
let l:next_letter = l:letter + 1
Ich weiß, dass es <Ctrl-A>
mit gibt set nf=alpha
, aber dafür muss der Cursor über dem Zeichen im Dokument stehen, und ich habe mich gefragt, ob es möglich ist, dies mit einer Variablen zu tun, ohne das Dokument zu ändern.
Folgendes versuche ich bisher, aber wie gesagt, es ändert das Dokument und die Cursorposition:
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
keine globale Standard-Manpage für jede Sprache ist, im Ernst.
:help string-functions
als etwas dunkel einstufen . Einige Skriptsprachen wie Python und Perl verwenden chr()
und ord()
Funktionen zum Konvertieren in ASCII / Zeichen. Wenn Sie also mit diesen Begriffen suchen, werden die Funktionen nr2char
und auch immer noch nicht char2nr
angezeigt. Ich denke, @ romainls Kommentar sollte stattdessen als Antwort gepostet werden.
man man
. :help :help
ist ebenso wichtig. Die Dokumentation von vim ist jedoch ziemlich umfangreich und in den ersten Jahren schwer zu berechnen. Tricks wie :h function^D
geben uns also Einstiegspunkte. Hier wäre es :h functions
(/ :h string-functions
). Dann ist es leicht zu verstehen, was was macht. Auch wenn wir an andere Sprachen gewöhnt sind. Wir können immer geben die Informationen (es ist , was wir die meiste Zeit tun), sondern Lehre , wie man Fisch ist es wichtiger - Sie das Sprichwort , dass ...
:help string-functions
nicht zeigt, wie man fischt . Es ist eher so, als würde man jemandem den Köder geben und ihm nicht das Fischen beibringen. Das Posten, wie sie nach Funktionen suchen können, bringt ihnen das Fischen bei.
:help string-functions
.