Trước tiên, tôi đã cố gắng sử dụng langmap
như trong số này gist nhưng IdeaVim không hỗ trợ langmap
.
Tiếp theo, tôi cố gắng sử dụng map
vì vậy tôi làm giải pháp này:
let rumap = 'йцукенгшщзхъфывапролджэёячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ'
let enmap = 'qwertyuiop[]asdfghjkl;''\zxcvbnm,.QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>'
let mapLen = strchars(rumap)
let i = 0
while i < mapLen
let ruChar = matchstr(rumap, ".", byteidx(rumap, i))
let enChar = enmap[i]
"echo 'map '.ruChar.' '.enChar
execute 'map '.ruChar.' '.enChar
execute 'cmap '.ruChar.' '.enChar
let i += 1
endwhile
map Ё \|
cmap Ё \|
Bạn có thể tùy chỉnh nó cho bố trí bàn phím của bạn.
Nhưng tôi quên rằng IdeaVim không hỗ trợ vimscript và cmap
và tôi đã thêm echo 'map '.ruChar.' '.enChar
(dòng nhận xét), mã nối từ trên xuống .vimrc
và mở vim từ dòng lệnh để nó in cho tôi tất cả map
lệnh. Chúng tôi được gửi tới .ideavimrc
và nối bản đồ của ống (|) nhân vật:
map й q
map ц w
map у e
map к r
map е t
map н y
map г u
map ш i
map щ o
map з p
map х [
map ъ ]
map ф a
map ы s
map в d
map а f
map п g
map р h
map о j
map л k
map д l
map ж ;
map э '
map ё \
map я z
map ч x
map с c
map м v
map и b
map т n
map ь m
map б ,
map ю .
map Й Q
map Ц W
map У E
map К R
map Е T
map Н Y
map Г U
map Ш I
map Щ O
map З P
map Х {
map Ъ }
map Ф A
map Ы S
map В D
map А F
map П G
map Р H
map О J
map Л K
map Д L
map Ж :
map Э "
map Я Z
map Ч X
map С C
map М V
map И B
map Т N
map Ь M
map Б <
map Ю >
map Ё /|
Bây giờ tôi có IdeaVim làm việc với bố trí Cyrillic trong bình thường, lựa chọn và chế độ của nhà điều hành cấp phát thị giác +.
Cảm ơn, nó phù hợp với tôi! Vâng, gần như. Tôi nhận ra rằng các kết hợp như 'ciw' hoặc' daw' vẫn không hoạt động. Có vẻ như 'i' và' a' không được xử lý đúng khi được sử dụng như 'bên trong' và 'xung quanh'. Bất kỳ ý tưởng làm thế nào điều này có thể được cố định? –
Những kết hợp này cũng không có tác dụng với tôi :(Tôi chưa tìm được giải pháp. Nếu sau đó bạn sẽ đăng nó ở đây. – mixel
Cảm ơn rất nhiều! Tôi đã thêm rằng mã hóa phải là ANSI – zhekaus