提问人:IGRACH 提问时间:8/25/2022 更新时间:8/26/2022 访问量:277
如何在没有换行符的情况下在 Sublime 中复制行
How to copy line in Sublime without new line
问:
在 Sublime 中,当您没有选择任何内容并单击时,您将使用新行复制整行。如何删除该新行,因此将仅复制当前行。ctrl+c
ctrl+c
我在 Windows 上使用 Sublime。
答:
1赞
OdatNurd
8/26/2022
#1
当未选择任何内容时(除了完全关闭该功能),没有直接设置对行的副本产生这种影响,但您仍然可以实现这一点。
一种是创建一个宏,该宏选择整行,但末尾没有换行符,然后执行(或者如果您也希望它以这种方式工作),然后绑定宏的键和/或执行宏(如果选择为空)。copy
cut
copy
cut
可以在以下位置找到示例:如何复制没有行尾字符的行
这肯定会起作用,但它确实具有更改选择以包含整行的效果,这至少将光标的位置从它所在的位置更改为行的末尾。
如果这是不可取的,那么前进的方向是一个插件,它调整剪贴板操作以不包含换行符。
这方面的一个例子是:
import sublime
import sublime_plugin
class ExtendedEmptyCopyPasteEventListener(sublime_plugin.EventListener):
"""
Every time the cut or copy commands are executed in a file while all of the
selections are empty, trim away the trailing newlines on the copied lines.
"""
def on_post_text_command(self, view, cmd, args):
# If copy or cut was just executed and every selection in the view was
# empty, trigger our logic.
if cmd in ("copy", "cut") and all([len(s) == 0 for s in view.sel()]):
text = sublime.get_clipboard().split('\n')
sublime.set_clipboard("\n".join([t for t in text if t != ""]))
此插件侦听 or 操作完成,然后,如果所有选择都为空,则调整
剪贴板,使其不在任何复制行的末尾包含换行符。copy
cut
如果您不确定如何设置插件,请参阅有关如何在 Sublime Text 中使用插件的 YouTube 视频(免责声明:由我创建)。
评论
0赞
IGRACH
8/26/2022
但是如何将该插头添加到键盘快捷键中呢?
1赞
OdatNurd
8/26/2022
@IGRACH你没有;一旦你把它放到位,它就会自动调整你进行的任何剪切和复制操作,而无需你做任何其他事情。
评论