如何将文本粘贴到每一行的末尾?崇高 2

Posted

技术标签:

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

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

测试线一

测试线二

测试线三

测试第四行

...

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

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

谢谢。

【问题讨论】:

目前这是首页的第二个demo...sublimetext.com 【参考方案1】:

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

【讨论】:

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

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

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

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

【讨论】:

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

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

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

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

【讨论】:

在 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】:
    选择要添加前缀或后缀的所有行。 (但如果您只想为特定行添加前缀或后缀,您可以使用 ctrl+鼠标左键 创建多个光标。) 按 Ctrl+Shift+L。 按 Home 键并添加前缀。 按End键并添加后缀。

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

【讨论】:

这是真正的修复。 home 键和 end 键对于正常工作至关重要 在 Sublime Text 3(Mac 版)中,home 键和 end 键对我不起作用。如果您遇到此问题,请查看:coderwall.com/p/upolqw/… 不是@Phil。您也可以使用 Cmd+向左/向右箭头进行导航。我认为这同样适用于 Windows

以上是关于如何将文本粘贴到每一行的末尾?崇高 2的主要内容,如果未能解决你的问题,请参考以下文章

如何在崇高文本中多次复制选定的文本或行?

PHP - 在每行末尾写入文件

崇高文本中的可见标签宽度2

崇高文本中的 JsLint 2

为啥当我将文本从浏览器复制并粘贴到文件时,Vim 会再次缩进每一行?

linux Vi 编辑器 如何复制整行n内容,这样才能粘贴到文本中