Hãy nói rằng tôi có
let l:letter = 'A'
Có một hàm lấy l:letter
mã ascii và biến nó thành 'B'
? Ý tôi là
let l:next_letter = l:letter + 1
Tôi biết là <Ctrl-A>
có set nf=alpha
, nhưng điều đó đòi hỏi phải có con trỏ trên ký tự trong tài liệu và tôi đã tự hỏi liệu có thể làm điều đó với một biến mà không sửa đổi tài liệu.
Đây là những gì tôi đã thử cho đến nay, nhưng như tôi đã nói, nó sửa đổi tài liệu và vị trí con trỏ:
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
không phải là một trang hướng dẫn tiêu chuẩn toàn cầu cho mọi ngôn ngữ.
:help string-functions
là hơi tối nghĩa. Ngoài ra, một số ngôn ngữ script như python và perl sử dụng chr()
và các ord()
hàm để chuyển đổi thành ascii / character. Vì vậy, tìm kiếm với các thuật ngữ này vẫn sẽ không hiển thị nr2char
và các char2nr
chức năng. Tôi nghĩ rằng bình luận của @ romainl nên được đăng dưới dạng câu trả lời.
man man
. :help :help
cũng quan trọng không kém. Nhưng tài liệu vim khá đồ sộ và khó tính trong những năm đầu tiên. Vì vậy, các thủ thuật như :h function^D
cho chúng tôi điểm nhập cảnh. Ở đây nó sẽ là :h functions
(/ :h string-functions
). Sau đó, thật dễ hiểu những gì đang làm những gì. Ngay cả khi chúng ta đã quen với các ngôn ngữ khác. Chúng ta luôn có thể cung cấp thông tin (đó là những gì chúng ta đang làm hầu hết thời gian), nhưng dạy cách câu cá thì quan trọng hơn - bạn biết câu tục ngữ ...
:help string-functions
là không hiển thị cách câu cá. Nó giống như cho ai đó mồi và không dạy chúng câu cá. Đăng bài làm thế nào họ có thể tìm kiếm các chức năng, là dạy họ câu cá.
:help string-functions
.