我想删除带有sublime-text的多字词。
e.g。我想删除所有行号(有行号,因为我从某处粘贴代码),如下所示:
答案 0 :(得分:10)
使用列编辑模式删除它们: http://www.sublimetext.com/docs/2/column_selection.html
使用鼠标右键+ Shift键选择
OR
使用鼠标中键选择
按 CTRL 添加到选择
按 ALT 从中减去选择
CTRL + ALT + Up
CTRL + ALT + Down
答案 1 :(得分:5)
您还可以使用正则表达式进行搜索和替换。以下是在Windows版本中测试的:
^[\d]+
,以选择所有行开头的任何数字。(如果您想选择第一个单词而不是仅选择数字,请搜索^[\w]+
答案 2 :(得分:4)
我是以不同的方式做到的......不是在Sublime中,但是万一有人感兴趣...有几个网站允许你这样做!只需使用行号将代码粘贴到其中,它们就会被删除。我喜欢用这个:
答案 3 :(得分:3)
Frank他提出了一种多光标模式,列选择(mouse instructions,keyboard 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
,现在。