【问题标题】:How to paste text to end of every line? Sublime 2如何将文本粘贴到每一行的末尾?崇高 2
【发布时间】:2012-05-29 09:45:40
【问题描述】:

我很好奇是否有办法将文本粘贴到 Sublime 2 中每一行的末尾?反之,到每一行的开头。

测试线一

测试线二

测试线三

测试第四行

...

假设您在编辑器中有 100 行文本,并且您想在每行的开头和结尾粘贴引号。

有没有简单的方法或任何人都知道的插件?这通常会在各种项目上为我节省大量时间。

谢谢。

【问题讨论】:

标签: line sublimetext2 text-editor copy-paste sublimetext


【解决方案1】:

您可以将Search & Replace 功能与此正则表达式^([\w\d\_\.\s\-]*)$ 一起使用来查找文本,替换后的文本为"$1"

【讨论】:

  • 太棒了!所以我发现以下内容对我有用:使用正则表达式: (?>\x0D\x0A?|[\x0A-\x0C\x85\x{2028}\x{2029}]) 将找到每一行的结尾。并使用正则表达式: ^[a-zA-z0-9!@#$")(*&!+_-] 将找到每一行的开头(前提是为正则表达式添加所有字符以在每个开头搜索行)。谢谢@yohann!
  • 如果您在 Vim 或 ST2 等功能强大的编辑器中使用正则表达式执行此操作,您将错过线索。为什么要把一个像样的编辑器降级为sed
  • 感谢您为我节省了 3 个小时的生命
【解决方案2】:

是的,Regex 很酷,但还有其他选择。

  • 选择所有要添加前缀或后缀的行
  • 转到菜单 选择 -> 拆分为行 (Cmd/Ctrl + Shift + L )

这允许您一次编辑多行。现在您可以在每行的开头和结尾添加 *引号 (") 或任何内容 *

【讨论】:

  • 这很容易做到。
  • 这是一个更好的答案。您还可以在使用鼠标选择区域时使用 shift (Windows/Linux) 或选项键 (Mac) 来获得相同的结果。
  • 您可能经常发现自己如上所述编辑了多行,但随后又想将它们重新组合成一行。加入多行的快捷键:ctrl/cmd+J
  • 这是一个很好的答案,但是对于非常大的行数,它可能比使用查找和替换占用更多的 CPU。
  • 我认为这应该是首选答案
【解决方案3】:

这是我一直使用的工作流程,仅使用键盘

  1. Ctrl/Cmd + A 全选
  2. Ctrl/Cmd + Shift + L 分割成行
  3. ' 用引号括住每一行

请注意,如果选择中有空行,这将不起作用。

【讨论】:

  • 在 st2 中对我不起作用,第 3 步删除了所有行并将其替换为“第 3 步应为 HomeEnd"
  • @andrej - 这听起来像一个错误。确保您使用的是最新版本的 st2,如果是,请在 sublimetext.userecho.com 报告错误
  • @dbw 运行 sublime text 2.0.1 build 2217。在sublimetext.userecho.com/topic/184875- 发布为错误
  • @andrej 如果我在选择中有任何空白行,我可以重现您的问题
【解决方案4】:

使用 column selection。列选择是 Sublime2 的独特功能之一;它用于为您提供多个匹配的游标 (tutorial here)。要获取多个游标,请执行以下操作之一:

鼠标:

  • 按住 shift (Windows/Linux) 或选项键 (Mac) 的同时用鼠标选择一个区域。

  • 单击鼠标中键(或滚动)也会选择一列。

键盘:

  • 选择所需区域。
  • 键入 control+shift+L (Windows/Linux) 或 command+shift+L (Mac)

您现在选择了多行,因此您可以在每行的开头和结尾键入引号。最好利用 Sublime 的功能,只需键入 "。当您这样做时,Sublime 会自动引用所选文本。

键入 esc 退出多光标模式。

【讨论】:

  • 也可以通过中键拖动触发列选。
  • 这是解决问题的最具体的 Sublime Text 方法,并使用了 Sublime Text 的基本特性。当 OP 在标题中询问 Sublime Text 时,它应该是公认的答案。
【解决方案5】:

假设你有这些代码行:

test line one
test line two
test line three
test line four

使用 Search and Replace Ctrl+HRegex 让我们找到这个:^ 并替换它使用",我们将拥有这个:

"test line one
"test line two
"test line three
"test line four

现在让我们搜索这个:$ 并将其替换为",现在我们将拥有这个:

"test line one"
"test line two"
"test line three"
"test line four"

【讨论】:

  • 在 sublime text 3 中工作得非常好,节省了大量时间
【解决方案6】:
  1. 选择要添加前缀或后缀的所有行。 (但如果您只想为特定行添加前缀或后缀,您可以使用 ctrl+鼠标左键 创建多个光标。)
  2. Ctrl+Shift+L
  3. Home 键并添加前缀。
  4. End键并添加后缀。

注意,请禁用自动换行,否则如果您的行长于 sublime 的宽度,它将无法正常工作。

【讨论】:

  • 这是真正的修复。 home 键和 end 键对于正常工作至关重要
  • 在 Sublime Text 3(Mac 版)中,home 键和 end 键对我不起作用。如果您遇到此问题,请查看:coderwall.com/p/upolqw/…
  • 不是@Phil。您也可以使用 Cmd+向左/向右箭头进行导航。我认为这同样适用于 Windows
猜你喜欢
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-04
  • 2020-10-25
  • 2013-02-22
  • 2016-11-17
相关资源
最近更新 更多