在Sublime Text

时间:2018-03-14 20:12:47

标签: sublimetext3

我使用的是Sublime Text 3.0。当我双击一行以突出显示并复制一行的内容时,它也会复制下一行中的第一个空格。我收录了它的截图。在屏幕截图中我想复制第二行,但它会自动占据第三行的第一个空格。

我当然可以将鼠标拖到文本上以突出显示它,然后复制,但这不是我想要做的。我只是想通过双击选择一行。

我该如何解决这个问题?是否有设置禁止它复制下一行中的第一个空格?

enter image description here

2 个答案:

答案 0 :(得分:1)

您实际看到的不是选择下一行开头的空格,而是选择所在行末尾的换行符。

也就是说,当您双击一行以选择它时,使用Selection > Expand Selection to Line或者甚至只需按 Ctrl + C 即可在没有选择时复制当前行(假设copy_with_empty_selection处于启用状态),该行的内容也包括终止它的字符,因为它可以说是该行的一部分。

据我所知,目前还没有一个控制此行为的设置。

最方便的解决方案可能是在copy_line.sublime-macro包中创建一个名为User的文件(如果你不确定在哪里,请使用Preferences > Browse Preferences)以下内容内容:

[
    { "command": "expand_selection", "args": {"to": "line"} },
    { "command": "split_selection_into_lines" },
    { "command": "copy" }
]

然后在按 Ctrl + C 但是没有选择任何内容时添加一个键绑定来执行它:

{
    "keys": ["ctrl+c"],
    "command": "run_macro_file", "args": {"file": "res://Packages/User/copy_line.sublime-macro"},
    "context": [
        { "key": "selection_empty", "operator": "equal", "operand": "true", "match_all": true}
    ]
},

现在当您按下没有选择任何内容的复制键时,将选择整行(包括换行符),拆分为行(不具有换行符),然后复制到剪贴板。

即使你有多个游标,这也有效,尽管它们都没有选择它来触发。

答案 1 :(得分:0)

只需将光标移动到要复制的行和Ctrl-C(Mac上的Cmd-C)。不要选择该行,只需坚持下去。然后将其粘贴到要粘贴的任何位置,它将在光标所在的位置之前插入一个新行,并使用先前复制的文本。

这是你想要的还是我想念的东西?