如何在编辑器和ide中选择列以列删除,插入或替换一些字符?
编辑:
原子 notepad++ 凯特 VIM 崇高 Emacs 文本编辑 翡翠编辑器 文本编辑器 MCEdit jEdit Nedit
ide:
NetBeans Eclipse Visual Studio IntelliJ IDEA Flash Builder Aptana Studio
如何在编辑器和ide中选择列以列删除,插入或替换一些字符?
编辑:
原子 notepad++ 凯特 VIM 崇高 Emacs 文本编辑 翡翠编辑器 文本编辑器 MCEdit jEdit Nedit
ide:
NetBeans Eclipse Visual Studio IntelliJ IDEA Flash Builder Aptana Studio
notepad++, Visual Studio和其他一些:Alt +拖动。 vim: Ctrl + v或(奇怪的是)四键点击拖动。在windows中:Ctrl + Q(因为Ctrl + V是粘贴的标准)
您没有显式地说明emacs,但由于您突出显示了许多编辑器……
在emacs中,您可以为此使用矩形,其中列是宽度为1的矩形。
要创建一个矩形,标记矩形的左上角和右下角(其中右下角的标记是矩形中更右的点的右边一个点)。然后你可以通过:
C-x r k 杀死区域矩形的文本,将其内容保存为“最后杀死矩形”(杀死矩形)。
C-x r d 删除区域矩形的文本(Delete -rectangle)。
C-x r y 拉住最后一个被杀死矩形的左上角(拉住矩形)。
C-x r o 插入空白以填充区域矩形(开放矩形)的空间。这将向右推区域矩形的先前内容。
m x clear-rectangle 通过将区域矩形的内容替换为空格来清除区域矩形。
m x delete-whitespace-rectangle 删除指定矩形上每一行中的空白,从矩形的左边缘列开始。
C-x r t字符串RET 将每行的矩形内容替换为字符串。(string-rectangle)。
M-x string-insert-rectangle RET string RET 在矩形的每一行上插入字符串。
Eclipse过去需要一个列模式插件来选择矩形选区。
从Eclipse 3.5开始,您只需要输入Alt+Shift+A:查看它的News和Noteworthy部分。(在OS X上是选项- command - a。)
或者激活“编辑器演示”操作集(窗口>自定义透视图菜单),以获得用于切换块选择模式的工具栏按钮。
AmbroseChapel在评论中补充道:
这是一个开关。 柱状选择是一种进入和离开的模式:换句话说,Eclipse切换到一种模式,其中所有鼠标选择都必须是柱状的,您将一直保持该模式,直到切换回来(再次使用相同的命令)。 它不像其他编辑器,只有在按下某些键时才启用柱状选择。
如果您在Cygwin-X(或任何平台)下使用Nedit,在用鼠标左键选择文本时按住Ctrl键。
此外,您还可以在插入模式下使用按下的鼠标左键拖动所选“方框”,或者在覆盖模式下使用Ctrl+鼠标左键拖动所选“方框”。
SublimeText 2、3和4
使用鼠标
在不同的平台上使用不同的鼠标按钮:
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文档
jEdit:
键盘:按Alt-\(在Mac OS X中是Opt-\)在矩形和普通选择模式之间切换;然后使用Shift +方向键来扩展选择。如果需要,可以用另一个Alt-\ (Mac OS X中的Opt-\)切换回常规选择模式。
使用鼠标:使用Alt-\(在Mac OS X中使用Opt-\)如上所述切换矩形选择模式,然后像往常一样拖动;或者Ctrl-drag(在Mac OS X中是Cmd-drag)。如果需要,可以用另一个Alt-\(在Mac OS X中是Opt-\)切换回常规选择模式。
实际上,你甚至可以用正常的方式做出一个非矩形的选择,然后按Alt-\(在Mac OS X中是Opt-\)将其转换为矩形。
在Flash Builder (v 4.5及以上)和Aptana Studio(至少v 2.0.5)中,有一个工具栏按钮来切换块选择。它位于“标记出现”和“显示空白字符”按钮之间。还有一个Alt + Shift + a快捷键。毫不奇怪,这与Eclipse基本相同,但为了完整起见,我在这里将其包括在内。
使用Nedit,你可以对选定的列做几个操作:
CTRL+左键->标记矩形文本区域
中间鼠标按在区域->移动文本区域,推开其他文本
CTRL+中鼠标按在标记区域->移动文本区域,覆盖旁边的文本和删除文本从原来的位置
CTRL+SHIFT+鼠标中按在标记区域->复制文本区域,覆盖旁边的文本,并保持文本从原始位置
在文本编辑:
用鼠标,左键点击+ Alt +拖动。请注意,如果您先使用Alt,然后单击-拖动,它是不起作用的(至少对我来说)。Ctrl+Alt代替Alt也可以。
对于纯键盘,没有鼠标,启用块选择模式与Ctrl+Q, B。 或者使用Alt, C, B的顺序,通过配置菜单来完成。
警告1:如果启用了换行,那么块选择模式将不可用(这有点逻辑)。首先禁用自动换行。这给我带来了一些麻烦,这给了我答案。
警告2:如果你想通过输入在每一行中插入文本,你必须使用编辑,填充块。其他编辑器允许您直接输入。
在Sublime3 (Windows)下:
有些用户可能会在窗口中使用Ctrl+Alt+▲得到一个倒置的屏幕。要解决此问题请转到
首选项- > Bindings-User的关键
并在文件末尾的右括号前添加这两行:
{ "keys": ["ctrl+alt+pageup"], "command": "select_lines", "args": {"forward": false} },
{ "keys": ["ctrl+alt+pagedown"], "command": "select_lines", "args": {"forward": true} }
或者用你自己的钥匙。
对于任何编辑器,都可以使用下面的快捷方式。这些快捷方式也适用于每个文本区域。
Shift +向上/向下箭头-这将逐行选择文本
Ctrl + Shift + LeftArrow/RightArrow -这将逐字选择文本
Ctrl + BackSpace -这将逐字删除文本