Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IdeaVim与俄罗斯版式_Vim_Keyboard Layout_Ideavim - Fatal编程技术网

IdeaVim与俄罗斯版式

IdeaVim与俄罗斯版式,vim,keyboard-layout,ideavim,Vim,Keyboard Layout,Ideavim,有没有办法让IdeaVim在输入以外的模式下理解俄语布局?在我的vimrc里,我有 set keymap=russian-jcukenwin 所以我可以通过按Ctrl+^在VIM中切换语言,并且对此比较满意。但IdeaVim似乎并不阅读或理解这种设置。停止用俄语输入某些东西(例如评论),切换到命令模式并卡住,这可能会非常烦人。有什么解决办法吗 Пцціцццц!简而言之,答案是否定的,没有解决办法。除非你愿意修改IdeaVim 当按下某个键时,可以获得有关该事件的不同信息。在我们的例子中,最有

有没有办法让IdeaVim在输入以外的模式下理解俄语布局?在我的vimrc里,我有

set keymap=russian-jcukenwin

所以我可以通过按Ctrl+^在VIM中切换语言,并且对此比较满意。但IdeaVim似乎并不阅读或理解这种设置。停止用俄语输入某些东西(例如评论),切换到命令模式并卡住,这可能会非常烦人。有什么解决办法吗

Пцціцццц!简而言之,答案是否定的,没有解决办法。除非你愿意修改IdeaVim

当按下某个键时,可以获得有关该事件的不同信息。在我们的例子中,最有趣的部分是
硬件密钥代码
,以及
密钥值
。前者与位于同一钥匙上的s、і和і相同;后者因布局而异。由于绑定的IdeaVim(在设置中,动作也绑定到键值),因此在使用键值不同的布局时不可能触发动作。因此,例如,它将在德国布局中运行良好


我建议你无论如何不要用俄语写评论

首先,我尝试像这样使用
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在正常、可视+选择和操作员挂起模式下使用西里尔文布局。

您可以安装和安装

将以下行添加到您的
~/.ideavimrc

set keep-english-in-normal-and-restore-in-insert
IDE将在正常模式下切换为英语,并在插入模式下恢复以前的输入语言

在Ubuntu Gnome()上安装和配置Fcitx:

  • 使用
    sudo apt Install fcitx安装
  • 创建具有以下内容的
    ~/.pam_环境
    文件:
  • 添加启动应用程序:
  • 安装Gnome扩展

  • 对于Vim,您可能需要安装插件。

    谢谢,它适合我!嗯,差不多了。我意识到像
    ciw
    daw
    这样的组合仍然不起作用。当用作“内部”和“周围”时,
    i
    a
    似乎处理不正确。有什么办法可以解决这个问题吗?这些组合对我来说也不太合适:(我还没有找到解决方案。如果你愿意的话,请把它贴在这里。非常感谢!我补充说编码应该是ANSI
    set keep-english-in-normal-and-restore-in-insert
    
    XMODIFIERS DEFAULT=@im=fcitx
    GTK_IM_MODULE DEFAULT=fcitx
    QT_IM_MODULE DEFAULT=fcitx