ChatGPT解决这个技术问题 Extra ChatGPT

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

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

测试线一

测试线二

测试线三

测试线四

...

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

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

谢谢。

目前这是主页上的第二个演示... sublimetext.com

D
DocMax

是的,正则表达式很酷,但还有其他选择。

选择要添加前缀或后缀的所有行

转到菜单选择 -> 拆分为行(Cmd/Ctrl + Shift + L)

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


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

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

Ctrl/Cmd + A 全选 Ctrl/Cmd + Shift + L Split into Lines ' 用引号括住每一行

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


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

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

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


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

假设您有这些代码行:

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

使用 Search and Replace Ctrl+HRegex 让我们找到这个:^ 并将其替换为 {2 },我们会有这个:

"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 中工作得非常好,节省了大量时间
Y
Yohann

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


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

使用 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 时,它应该是公认的答案。