加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

IdeaVim和俄罗斯布局

发布时间:2020-12-15 21:47:26 所属栏目:安全 来源:网络整理
导读:有没有办法让IdeaVim在输入以外的模式下理解俄语布局?在我的. vimrc中我有 set keymap=russian-jcukenwin 所以我可以通过按Ctrl +切换VIM中的语言,并且相对满意.但似乎IdeaVim没有阅读或理解这个设置.用俄语停止键入某些内容(例如注释),切换到命令模式并卡
有没有办法让IdeaVim在输入以外的模式下理解俄语布局?在我的. vimrc中我有

set keymap=russian-jcukenwin

所以我可以通过按Ctrl +切换VIM中的语言,并且相对满意.但似乎IdeaVim没有阅读或理解这个设置.用俄语停止键入某些内容(例如注释),切换到命令模式并卡住会非常烦人.有没有解决方法?

解决方法

首先我尝试使用像这个 gist中的langmap,但IdeaVim不支持langmap.

接下来我尝试使用map,所以我做了这个解决方案:

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 Ё |

您可以为键盘布局自定义它.

但我忘记了IdeaVim不支持vimscript和cmap,我添加了echo’map’.ruChar.’ ‘.enChar(注释行),从上面添加代码到.vimrc并从命令行打开vim,所以它打印了我所有的map命令.我将它们添加到.ideavimrc并附加管道(|)字符的映射:

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 Ё /|

现在我让IdeaVim在正常,视觉选择和运算符待定模式下使用西里尔文布局.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读