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
Intellij idea PyCharm+;IdeaVim--如何重新绑定Ctrl-C?_Intellij Idea_Vim_Pycharm_Intellij Plugin_Ideavim - Fatal编程技术网

Intellij idea PyCharm+;IdeaVim--如何重新绑定Ctrl-C?

Intellij idea PyCharm+;IdeaVim--如何重新绑定Ctrl-C?,intellij-idea,vim,pycharm,intellij-plugin,ideavim,Intellij Idea,Vim,Pycharm,Intellij Plugin,Ideavim,我在用pycharm和ideavim。我意识到我不能控制c。这会影响正常的复制粘贴流,但更重要的是,这意味着我无法从python控制台控制c。如果我有一个无限循环的程序,我就完蛋了 有没有办法解决这个问题?我查看了vim仿真设置,但不幸的是,它不允许我将控制c重新绑定到IDE 您的图像并不是说您不能使用^C;这意味着您当前没有^C的IDE绑定。正如您正确指出的,Vim默认情况下确实有一个,并且在没有冲突的情况下,PyCharm/IntelliJ将允许Vim拥有^C 转到您的键映射并搜索copy,

我在用pycharm和ideavim。我意识到我不能控制c。这会影响正常的复制粘贴流,但更重要的是,这意味着我无法从python控制台控制c。如果我有一个无限循环的程序,我就完蛋了

有没有办法解决这个问题?我查看了vim仿真设置,但不幸的是,它不允许我将控制c重新绑定到IDE


您的图像并不是说您不能使用
^C
;这意味着您当前没有
^C
的IDE绑定。正如您正确指出的,Vim默认情况下确实有一个,并且在没有冲突的情况下,PyCharm/IntelliJ将允许Vim拥有
^C

转到您的键映射并搜索
copy
,然后根据您的需要添加快捷方式
Ctrl+c
。然后,您可以返回此屏幕并选择要由IDE键映射而不是vim键映射管理的
^C


话虽如此,你并没有“完蛋”。用Run或Debug启动的python控制台可以用右上角的矩形红色按钮停止(除非您有实际运行的东西,否则它是一个矩形灰色按钮)。如果您悬停在它上面,您可以看到它被称为“停止”,并且可能已经有一个与其相关联的键绑定,它可以像其他任何东西一样在您的KEKIN设置中重写。

< P>作为“JeReMysPrrror”描述的重新绑定的替代品,考虑使用CTRL+INSERT进行复制和移位+插入粘贴。
这些绑定在系统范围内开箱即用(至少在Windows和KDE上是这样,但我认为这是所有系统的某种标准),并且在Vim和IdeaVim中仍然可用。这样做的好处是可以继续使用vim的块选择命令(Ctrl+V)。

如果vim emulator中的设置Ctrl-c和Ctrl-V由vim处理,您只需自定义.ideavimrc即可使用这些快捷键。下面是一个简单的方法,将这一行粘贴到您的.ideavimrc中:

set clipboard+=unnamed
您可以使用命令vim和.ideavimrc文件的路径刷新IDE中的新设置,而无需重新启动IDE:

:source ~/.ideavimrc
此方法非常简单,可以使用所有编辑快捷方式,如y、y、p、p、x,将代码放入剪贴板,并在计算机上的其他位置使用

PS:相反,您也可以使用剪贴板注册表,通过使用与+或*相关联的引号键“和一些键编辑快捷键,如c、p、y,在插入、正常或可视模式下为Ctrl-c、Crtl-v创建疯狂的自定义宏,如下所示:

inoremap <C-v> <Esc>"+Pa
inoremap“+Pa
因此,行为是完全可定制的(但这也是疯狂)

但是,如何发送键盘中断?单击停止按钮将停止程序。。。谢谢