使用光标键选择IntelliJ列


106

是否可以某些方式设置IntelliJ IDEA,以便我可以使用光标键进行列选择,类似于在Notepad ++,Visual Studio或FlashDevelop中的选择方式。

例如,当我键入代码时,我几乎总是仅通过使用键盘来进行导航。在前面提到的IDE中,我可以通过按住Shift+ Alt然后点按以将光标扩展到上面的行中来快速选择代码块。那么我可以抱Shift+ Alt+ Ctrl和自来水整个单词,可快速跳转,并选择我想要的文本块。

在IntelliJ IDEA中,我必须使用Shift+ Alt+ 不断地启用和禁用列选择模式Insert,即使那样,它也不能像其他IDE或文本编辑器中那样起作用。

有任何想法吗?


1
这篇博客文章应该会有所帮助。
Anton Dozortsev 2014年

Answers:


158

您可以使用进行列编辑Edit | Column Selection Mode

打开它的快捷方式on/offAlt+ Shift+ Insert。您可以使用箭头键导航以选择文本块。


2
我知道这种模式,但是它并没有提供我想要的东西,但是如果不自己编写插件,看来我将无法获得想要的行为。
Joshua Barnett 2014年

30
在Mac上,快捷方式为Cmd + shift + *
8bitme,2013年

5
由于我的Mac上的某些原因,Cmd + Shift + 8不能正常工作,我不知道为什么,我将其重新映射为Control + Option + Command + 8,它可以正常工作。除了可能覆盖它的系统映射之外,我还找不到任何能够阻止旧键盘映射起作用的内容。
AlexC

7
就像您甚至没有阅读问题一样。@JoshuaBarnett Gibolt的答案就是你想要的。
jv110

2
赞成jv110及其对JoshuaBarnett的回答的异议。张贴者已经清楚地知道JoshuaBarnett提到的键盘快捷键,并且正在寻找一种更轻量级的方式进入列编辑模式,这就是@Gibolt的回答。
丹尼尔·科特

59

多行插入符号(无鼠标)

Windows / Linux:CTRL+ CTRL(按住)+↑ / ↓

Mac:+ (按住)+↑ / ↓

ESC 将结束多行模式。

更改多字符热键

要添加自定义键盘映射,CTRL+ SHIFT+ A,类型keymap与点击一个Settings作为潜台词。搜索Clone Caret AboveClone Caret Below

我映射矿ALT+ SHIFT+ ↑ / ↓

奖金

尝试的保持组合CTRLSHIFT和箭头用于改善选择电源。


5
我相信这应该是正确的答案。当前接受的答案只是重新说明了问题的某些内容,但是此答案提供了真正的矩形选择,而无需使用鼠标(例如Notepad ++)。
Corwin Newall '18年

8
在我的Mac上,ALT默认情况下而不是映射键。就是这样:ALT+ ALT(保留)+ /
gfullam '18

您不能只声明Windows和macOS而忽略Linux!
jv110

@ jv110是。这是确定国家只macOS,但不能把“瞌睡前面”尼克斯
javadba

48

也可以选择保持middle mouse key


18

转至Settings | Keymap并设置一个快捷方式Clone Caret AboveClone Caret Below


您是否知道是否可以使它的功能类似于文本编辑器(如Notepad ++)的功能,在该文本编辑器中,您只能在一个方向上延伸,而在相反方向上可以缩小?
2015年

我认为不可能。我什至没有看到功能要求。
Meo 2015年

按Ctrl,然后按住Ctrl,这与您所描述的完全一样。
jv110

那是唯一适合我的解决方案。感谢分享。
MARK

11

我认为@Meo的答案是最正确的,但是如果您的手碰巧在鼠标上,您也可以使用Ctrl+ Alt+ Shift+ 完成此操作Left Mouse Button Click。或Add Rectangular Selection on Mouse Drag在键盘映射设置中查找。


或按Ctrl,然后按住Ctrl。
jv110


7

对于Mac上的我:

按下一次“选项”键,将其释放,然后再次按住。现在,使用光标导航以选择所需的代码。按“ Esc”退出列模式!:)



6

最方便的方法是:

  • MAC:按住Option + Shift并用鼠标单击。
  • Windows:按住Alt键并用鼠标单击。

1

对于Mac cmd+ shift+ *,我没有工作。我将键盘映射更改为其他映射,现在可以无缝运行了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.