我正在写一些python,我想插入一个没有任何缩进的空行,例如按Enter或Enter + cmd
if foo == "foo":
foo.bar()
foo.bar()
foo.bar()
# cursor is here
foo.baz()
foo.baz()
foo.baz()
foo.baz()
我希望它是
if foo == "foo":
foo.bar()
foo.bar()
foo.bar()
# cursor is here
foo.baz()
foo.baz()
foo.baz()
foo.baz()
我相信这与Visual Studio CTRL + Enter
在崇高中,我创建了一个命令
[
{
"args":
{
"characters": "\n"
},
"command": "insert"
},
{
"args":
{
"to": "hardbol"
},
"command": "move_to"
},
{
"args":
{
"file": "res://Packages/Default/Delete to Hard EOL.sublime-macro"
},
"command": "run_macro_file"
}
]
答案 0 :(得分:2)
您正在寻找的是两个命令的组合:
editor.action.insertLineAfter
editor.action.trimTrailingWhitespace
有一个feature request for macro like keybindings。在此期间,您可以尝试the macros extension,一个接一个地使用快捷方式,或者......
将以下内容添加到keybindings.json文件中,该文件基本上提供 ctrl + 输入 ctrl + m 完全符合您需要的快捷方式。
[
{
"key": "ctrl+m",
"command": "editor.action.trimTrailingWhitespace",
"when": "editorTextFocus && !editorReadonly"
}
]
答案 1 :(得分:-1)
你想要实现的目标是什么?
Python使用行缩进而不是括号来创建代码块。上面提到的代码可以在任何文本编辑器中完成,但会引发异常,因为Python会期待指令。
如果你的意图是要做一个什么也不做的空语句,那么试试:
if foo == 'foo':
pass
Pass明确告诉系统继续操作而不做任何事情。
如果您希望出于风格原因这样做,那么您正在咆哮错误的树。为了使Python起作用,必须在if语句后缩进下一行。当缩进消失时,告诉python它已经完成了该块并留下了if语句。