如何将IntelliJ(也适用于Android Studio)的重做快捷键配置为CTRL+Y而不是CTRL+SHIFT+Z?

167
默认的IntelliJ / Android Studio“重做”操作快捷键是CTRL+Shift+Z,这对于Windows用户来说是一个常见问题。
更大的问题是,CTRL+Y被映射到“删除行”操作,这会导致撤销栈丢失。
要解决此问题,如何将“重做”快捷键更改为CTRL+Y在IntelliJ中?

33
Windows用户默认使用“CTRL+Y”来重做操作。我想要撤销我的上一个步骤,然后我错误地按下了ctrl+y来重做。我的当前行已经被删除了。我做了一个更改,所以我不能再使用ctrl+shift+z了,因为ctrl+y占用了这个快捷键! http://youtrack.jetbrains.com/issue/IDEA-120080 - Ismail Yavuz
13
这个情况在我使用的其他应用程序中也是一样的,包括 Eclipse、Notepad++ 和 Chrome。 - Ismail Yavuz
9
我刚刚因为这个丢失了大量代码。我撤销了一些操作想要查看一些内容,然后按下了Ctrl+Y,现在我不得不重新编写所有的代码。 :( - Usman
7
Intellij的快捷键不遵循平台,真的很烦人。我猜这些是为了Mac设计的。例如,尝试使用Ctrl+Alt+左/右箭头进行导航。 - Mahendran
7
我只是在想,当他们决定使用CTRL+Y来删除行时,他们到底有多高啊。 - Jaxx0rr
显示剩余3条评论
2个回答

144
  1. 打开 设置(按下CTRL+ALT+S

  2. 在左侧列表中点击 键盘映射

  3. 有一个包含键盘映射的组合框。选择其中之一(默认意味着 IntelliJ,当然我们无法更改任何预定义的键盘映射,但我们可以复制、编辑,然后使用编辑过的。所以)我们应该复制“default”以仅更改重做映射。copy default keymap

  4. 为复制的键盘映射命名。

  5. 右键单击: 主菜单 -> 编辑 -> 重做 然后点击 “添加键盘快捷键”

  6. 按下 CTRL+Y

  7. 点击确定

  8. 点击“移除”,因为“快捷键已分配给其他操作。您是否要删除其他分配?”

  9. 如果您希望还使用“删除行”快捷键,则可以转到删除行快捷键并为其设置其他快捷键(如第5步)

  10. 点击确定以关闭设置窗口。


1
在Intellij 14.1.2中,右键单击: 主菜单 -> 编辑 -> 重做,无法让我“添加键盘快捷方式”。 - nemoo
你复制了原始键位图吗?你不能更改原始键位图。你必须复制一个,然后更改你想要更改的内容。请按照上面的所有步骤进行操作。 - Ismail Yavuz
现在我明白了。我错误地进入了主菜单,然后尝试右键点击“编辑”->“重做”,因为我在设置屏幕的列表中找不到“重做”。但是可以通过搜索找到它。 - nemoo
谢谢!非常准确。 - degreesightdc

35

将键位映射设置为Visual Studio、Eclipse或NetBeans预设。

设置窗口可以在文件>设置下找到。如果快捷键未更改,则CTRL+ALT+S应该可以使用。在设置窗口中,您应该可以在外观和行为设置列表下找到Keymap

您可以将每个编辑器命令配置为您喜欢的键组合(如@ismail yavuz所述),例如将Redo配置为CTRL+Y,或者您可以只是将Keymap设置更改为您习惯的编辑器。如果您正在切换到IntelliJ,则最好这样做,因为它可能是最不费力的路径。Visual Studio、Eclipse和NetBeans键盘映射的默认设置都将Redo映射到CTRL+Y

尽管Windows用户对于“最小惊奇原则”来说有些违反常理,但至少快捷键是可自定义的。由于该命令与Windows体验相反,我决定在任何需要时都可以快速更改,而无需学习IntelliJ键盘。不学习IntelliJ几乎没有任何缺点。请记住,在键位映射菜单中,您可以在搜索框中搜索命令或单击右侧的放大镜以按键组合进行搜索。

当然,两种答案都不是错的。选择您喜欢的那个。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接