有什么方法可以让IdeaVim在输入以外的模式下理解俄文的布局?在我的.vimrc里
set keymap=russian-jcukenwin因此,我可以通过按Ctrl+^来切换VIM中的语言,并且对此比较满意。但是IdeaVim似乎没有阅读或理解这种设置。停止在俄语中输入一些东西(例如注释),切换到命令模式,然后卡住,这可能是非常烦人的。有什么解决办法吗?
发布于 2015-07-18 13:35:43
首先,我尝试像在这个要旨中一样使用要旨,但是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与西里尔布局在正常,visual+select和操作员挂起模式。
发布于 2019-12-01 11:01:52
您可以安装Fcitx和IdeaVimExtension。
将以下一行添加到您的~/.ideavimrc
set keep-english-in-normal-and-restore-in-insertIDE将在正常模式下切换到英语,并在插入模式下恢复以前的输入语言。
在Ubuntu (Fcitx - ArchWiki)上安装和配置Fcitx:
sudo apt install fcitx安装~/.pam_environment文件:XMODIFIERS DEFAULT=@im=fcitx
GTK_IM_MODULE DEFAULT=fcitx
QT_IM_MODULE DEFAULT=fcitx

对于Vim,您可能需要安装fcitx.vim插件。
https://stackoverflow.com/questions/17905207
复制相似问题