如何在编辑器(Atom,Notepad ++,Kate,VIM,Sublime,Textpad等)和IDE(NetBeans,IntelliJ IDEA,Eclipse,Visual Studio等)中选择列


215

如何在编辑器和IDE中选择列以列式删除,插入或替换某些字符?

编辑:

  • 原子
  • 记事本++
  • 凯特
  • VIM
  • 升华
  • 埃马克斯
  • 文字板
  • 翡翠编辑器
  • 超编辑
  • 编辑器
  • 编辑
  • Nedit

IDE:

  • NetBeans
  • 视觉工作室
  • IntelliJ IDEA
  • Flash Builder
  • Aptana Studio

遗憾的是,此操作已关闭,而没有Atom的答案。这个问题是一个很好的资源。应该重新打开它以添加更多编辑器。
MountainX

VTRing:这是对话题的是关于“软件工具程序员常用的”。范围也明确定义并易于管理。
ivan_pozdeev

Answers:


215
  • 记事本++,Visual Studio和其他一些:Alt+ drag
  • vim:Ctrl+ v或(非常勉强地)四击并拖动。在Windows中:Ctrl+ Q(因为Ctrl+ V是粘贴的标准)

您是否有机会知道如何使用鼠标选择一列文本块并将其复制到系统剪贴板(中键单击粘贴或ctrl-v粘贴)?
2011年

37
Notepad ++,Visual Studio等:您也可以使用Shift + Alt +箭头键来选择列,而无需使用鼠标。
Brian Koser 2011年

+1用于四击并拖动。我知道Vim用户并非“应该”使用鼠标,但是我认为有时使用鼠标进行选择很有用。
echristopherson

对于EditPlus,要选择柱状块,请使用Alt + C。
Ajay Takur 2013年

通过应有评论的编辑:确保取消“自动换行”
Gustav Bertram 2014年

77

在Kate中切换 Ctrl+ shift+ B


1
谢谢...这在kate(ubuntu)中非常有效。
2013年

6
FTR,这也适用于kdevelop。
kikeenrique 2013年

1
请注意,这会切换,因此要返回默认选择模式,您必须Ctrl + shift + B再次按。
fedorqui'SO停止伤害

如果您像我一样,正在凯特(Kate)的“编辑”(Edit)菜单中搜索它,那么它在凯特(Kate)中称为“块选择模式”。
ReneSac 2015年

3
凯特(Kate)似乎不支持垂直插入,或者我做错了什么?我切换到“块选择模式”,然后选择了一系列行的第一列(第一个字符的左侧),然后键入了一些内容。它出乎意料地仅作为最后一行的前缀出现!
Chucky 2015年


38

Eclipse以前需要列模式插件才能选择矩形选择。

列模式

从Eclipse 3.5开始,您只需要键入Alt+ Shift+ A:请参阅其新闻和值得注意的部分。(在OS X上是Option-Command-A。)

块(aka列或矩形)选择模式

或激活“ Editor Presentation”操作集(“ 窗口”>“自定义透视图”菜单),以获取用于切换块选择模式的工具栏按钮。

AmbroseChapel在评论中添加:

这是一个切换

纵栏式选择是您进入和离开的一种模式:换句话说,Eclipse切换到一种模式,其中所有鼠标选择都必须是纵栏式的,并且您一直停留在该模式下,直到再次切换(再次使用同一命令)。
与其他编辑器不同,只有在某些键按下时才启用列选择。


快速说明:使用Eclipse,这是一个切换。纵栏式选择是您进入和离开的一种模式;换句话说,Eclipse切换到一种模式,在该模式下所有鼠标选择都必须是纵栏式的,并且您一直停留在该模式下,直到再次切换(再次使用同一命令)。与其他编辑器不同,只有在某些键按下时才启用列选择。
AmbroseChapel

22

在vim列中,可视模式为Ctrl+ v。如果那是你的意思?


5
Windows版本使用Ctrl + Q,因为Ctrl + V是标准的粘贴剪贴板命令。
安德鲁·科文霍芬

4
@Andrew:值得注意的是,“ Windows版本”是指gVim附带的默认.vimrc。通过注释掉$ VIMRUNTIME / mswin.vim中的相应行,可以将默认的vim行为恢复为Ctrl + V。
technomaologic

20

SublimeText 2

使用鼠标

每个平台上使用不同的鼠标按钮:

OS X

Left Mouse Button + Option
OR: Middle Mouse Button
Add to selection: Command
Subtract from selection: Command+Shift

视窗

Right Mouse Button + Shift
OR: Middle Mouse Button
Add to selection: Ctrl
Subtract from selection: Alt

的Linux

Right Mouse Button + Shift
Add to selection: Ctrl
Subtract from selection: Alt

使用键盘

OS X

ctrl+ shift+

ctrl+ shift+

视窗

ctrl+ alt+

ctrl+ alt+

的Linux

ctrl+ alt+

ctrl+ alt+

来源:SublimeText2文档


也适用于Sublime Text 3
drevicko,2015年

16

您没有明确声明emacs,但是由于您已突出显示许多编辑器...

在emacs中,您可以为此使用矩形,其中列是宽度为1的矩形。

要创建矩形,请标记矩形的左上角和右下角(其中,右下角标记位于矩形中所包含的另一个右点的右边。您可以通过以下方式进行操作:

C-x r k
终止区域矩形的文本,将其内容另存为“最后终止的矩形”(kill-rectangle)。

C-x r d
删除区域矩形(delete-rectangle)的文本。

C-x r y
用最后一个杀死的矩形将其左上角的点(yank-rectangle)拉出。

C-x r o
插入空格以填充区域矩形(open-rectangle)的空间。这会将区域矩形的先前内容向右推。

M-x clear-rectangle
通过用空格替换其内容来清除区域矩形。

M-x delete-whitespace-rectangle
从矩形的左边缘列开始,删除指定矩形上每行的空白。

C-x r t string RET
在每行上用字符串替换矩形内容。(string-rectangle)。

M-x string-insert-rectangle RET string RET
在矩形的每一行上插入字符串。


谢谢,太好了!请注意,启用cua模式后,Cx会剪切该区域,因此必须替换Cx Cx或SCf。
TextGeek

10

IntelliJ IDEA中,您可以使用Alt+ Shift+ Insert组合切换选择模式。您还可以通过按住鼠标中键(即滚轮按钮)并拖动来选择列。


9

凯特

Ctrl+ Shift+B还允许您通过单击任意位置并将其粘贴来添加更多列。

在保存从Google Translate复制的文本文件作为并排视图时,我使用了此功能。



5

用鼠标在TextMate中:开始选择并保持 alt在移动光标时按住。

不用鼠标:首先通常使用和选择箭头,然后点击alt并移动光标。


5

在Notepad ++中,您可以选择包含ctrl + alt + shift的特定列,然后单击鼠标左键并拖动以进行选择。


2
实际上没有必要按住Ctrl键。Shift + Alt +拖动鼠标(或箭头键)就足够了。
法比奥说莫妮卡(Monica)恢复


4

在TextPad中:

用鼠标左键单击+ Alt +拖动。请注意,如果您先使用Alt,然后单击并拖动,则该方法将不起作用(至少对我而言)。Ctrl + Alt代替Alt也可以。

对于纯键盘(没有鼠标),请使用Ctrl + Q,B启用“块选择模式”。或者使用顺序Alt,C,B通过Configure(配置)菜单进行操作。

警告1:如果启用了自动换行,则块选择模式将不可用(这在一定程度上是合理的)。首先禁用自动换行。这给我带来了麻烦,给了我答案。

警告2:如果要通过键入在每个选定行中插入文本,则必须使用“编辑”,“填充块”。其他编辑器可让您直接输入。


3

在文本板中。

转到页面的左上方。按住“ Shift键”,现在使用向右箭头键选择列。现在单击“向下箭头”键。整个列将被选中。


2
要启用“块选择模式”,请使用CTRL + Q,然后按B。再次关闭该功能。
Michael Hinds 2014年

1
在我的文本板版本中,向下按下并不能选择整个列,但是在块选择模式下,我可以快速向下移页面来选择列。比鼠标上的alt-select快得多
dibs487 '16

2

jEdit:

使用键盘:按Alt-\Opt-\在Mac OS X中为)在矩形和普通选择模式之间切换;然后使用Shift加号箭头键扩展选择范围。如果需要,可以使用其他模式Alt-\Opt-\在Mac OS X中)切换回常规选择模式。

用鼠标:像上面一样使用Alt-\Opt-\在Mac OS X中)切换矩形选择模式,然后像往常一样拖动;或Ctrl-drag(Cmd在Mac OS X中为-drag)。如果需要,可以使用其他模式Alt-\Opt-\在Mac OS X中)切换回常规选择模式。

实际上,您甚至可以按常规方式进行非矩形选择,然后单击Alt-\Opt-\在Mac OS X中)将其转换为矩形。


2

在MCEdit中,切换Shift+ F3(即F13)或F9 -> Edit-> Mark列。

PS在这种情况下,MCEdit是为Midnight Commander编写的编辑器。


2

在Sublime3(Windows)中:

使用Windows中的Ctrl+ Alt+ ,某些用户可能会看到倒置的屏幕。为了解决这个问题

首选项->键绑定-用户

并将这两行添加在文件末尾,紧跟在方括号之前:

{ "keys": ["ctrl+alt+pageup"], "command": "select_lines", "args": {"forward": false} },

{ "keys": ["ctrl+alt+pagedown"], "command": "select_lines", "args": {"forward": true} } 

或使用您自己的键。


这应该是对Mart Van de Ven的回答的评论,而不是独立的评论。
法比奥说莫妮卡(Monica)恢复

2

如果您在Cygwin-X(或与此相关的任何平台)下使用Nedit,请按住 Ctrl键的同时用鼠标左键选择文本。

此外,您还可以在插入模式下使用按下的鼠标左键拖动选定的“框”,或者在覆盖模式下使用Ctrl+ 拖动left-mouse button


1

使用Nedit,您可以对选定的列执行多项操作:

CTRL +鼠标左键->标记矩形文本区域

鼠标中键按下区域->移动文本区域并推开其他文本

在标记区域中按Ctrl +鼠标左键->移动文本区域,并覆盖文本并从原始位置删除文本

在标记区域中按Ctrl + Shift +鼠标中键->复制文本区域并覆盖文本,并保持原始位置的文本


1

在Flash Builder(v 4.5及更高版本)和Aptana Studio(至少v 2.0.5)中,有一个工具栏按钮可以切换块选择。它位于“标记出现”和“显示空白字符”按钮之间。还有一个Alt+ Shift+ A快捷键。毫不奇怪,这与Eclipse基本相同,但是出于完整性考虑,我在此包括在内。

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.