Hãy nói rằng tôi có
let l:letter = 'A'
Có một hàm lấy l:lettermã 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-functionskhô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-functionslà 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ị nr2charvà các char2nrchứ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 :helpcũ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^Dcho 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-functionslà 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.