如何用sublime text 2删除多行的第一个单词?

时间:2013-01-07 03:03:48

标签: sublimetext2

我想删除带有sublime-text的多字词。

e.g。我想删除所有行号(有行号,因为我从某处粘贴代码),如下所示:

enter image description here

5 个答案:

答案 0 :(得分:10)

使用列编辑模式删除它们: http://www.sublimetext.com/docs/2/column_selection.html

适用于带鼠标的Windows

  

使用鼠标右键+ Shift键选择

OR

  

使用鼠标中键选择

CTRL 添加到选择

ALT 从中减去选择

仅使用键盘

  

CTRL + ALT + Up

     

CTRL + ALT + Down

答案 1 :(得分:5)

您还可以使用正则表达式进行搜索和替换。以下是在Windows版本中测试的:

  1. CTRL + H 打开“替换”对话框。
  2. 确保使用正则表达式:单击替换对话框中最左侧的图标或使用 ALT + R
  3. 查找内容字段中输入^[\d]+,以选择所有行开头的任何数字。
  4. 替换为字段留空以删除数字。
  5. 点击全部替换
  6. (如果您想选择第一个单词而不是仅选择数字,请搜索^[\w]+

答案 2 :(得分:4)

我是以不同的方式做到的......不是在Sublime中,但是万一有人感兴趣...有几个网站允许你这样做!只需使用行号将代码粘贴到其中,它们就会被删除。我喜欢用这个:

http://remove-line-numbers.ruurtjan.com/

答案 3 :(得分:3)

Frank他提出了一种多光标模式,列选择(mouse instructionskeyboard instructions)。另一种类型是使用搜索来添加其他实例(official instructions)。如果您正在编辑的行不是一行,那么这将特别有用。

在您的情况下,您可以(例如)从一行中选择一个所有行共有的模式(例如“”)。然后,您可以使用 Command + D (Mac)或 Command + D (Linux / Windows)来选择连续模式的实例。 命令 + Shift + D (Mac)或命令 + Shift + D (Linux / Windows)将选择模式的所有实例。

为了更好地概述这些选项,请参阅this tutorial video(优秀系列的一部分)。

答案 4 :(得分:1)

您可以创建一个插件(工具/新插件...),将剪贴板复制到所有选定的区域:

import sublime, sublime_plugin

class PasteWithoutLineNumberCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        cleaned_str = self.clean_line_numbers(sublime.get_clipboard())
        sublime.set_clipboard(cleaned_str)
        self.view.run_command('paste')

    def clean_line_numbers(self, data):
        data = re.sub('(^|(?<=\n))[^\S\n]*\d+[^\S\n](?=[^\n]+)', '', data);
        return data;

将其保存在Packages/User目录中。

然后你可以添加键绑定(Preferences / Key Bindings - User):

{ "keys": ["ctrl+shift+;"], "command": "paste_without_line_number" }

或者你可以在这里安装插件: ClipboardCommands然后使用快捷方式ctrl+shift+;粘贴没有行号的代码。

==

更新

您可以通过包控件直接安装sublime插件ClipboardCommands,现在。