我正在尝试找出工作中的热键。我刚得到这份工作,我或多或少地第一次使用 Mac。
回到我的笔记本电脑上,当使用 Eclipse 时,我似乎记得有一个热键可以同时使用:
;
在我当前行的末尾添加一个(无论插入符号在所述行中的哪个位置)- 将光标放在新行的开头,缩进级别与我刚刚添加分号的行相同
有人知道这是否是 Eclipse 特定的热键,或者知道在 Sublime Text 2 中复制所述热键的方法吗?
我正在尝试找出工作中的热键。我刚得到这份工作,我或多或少地第一次使用 Mac。
回到我的笔记本电脑上,当使用 Eclipse 时,我似乎记得有一个热键可以同时使用:
;
在我当前行的末尾添加一个(无论插入符号在所述行中的哪个位置)有人知道这是否是 Eclipse 特定的热键,或者知道在 Sublime Text 2 中复制所述热键的方法吗?
最好的解决方案是在 Sublime Text 上录制宏,然后将其分配给键盘快捷键。按着这些次序:
通过在您的首选项 > 键绑定 - 用户文件中的方括号之间添加此快捷方式来创建快捷方式:
{
"keys": ["super+;"], "command": "run_macro_file", "args": {"file": "Packages/User/EndOfLine.sublime-macro"}
}
快乐编码!
在阅读了您的问题三遍之后,我终于意识到您正在寻找一个热键来执行这两项操作。哎呀。
您的请求听起来像是Smart Semicolon Eclipse插件的Ctrl++热键。虽然添加天才级 IQ 的分号可能需要一个全新的 Sublime Text 2 插件,但您可以使用 Sublime Text 的Macros轻松创建智能分号式键绑定。直到现在我才真正了解他们!Shift;
在这种情况下,自己录制宏实际上是创建它的最快方法,而不是复制和粘贴新文件(现在您将拥有制作更多文件的经验)。首先,打开一个新文件并输入你最喜欢的垃圾行:
Lord Vetinari's cat|
然后将插入符号移动到行内的任何位置:
Lord Veti|nari's cat
现在,按Ctrl+ Q,即 的热键Tools -> Record Macro
。如果启用状态栏,它将通知您它正在“开始录制 [a] 宏”。按End(如果您没有End键,请跳至下方),然后按;,然后按Enter。最后,再次按Ctrl+停止录制。Q当你这样做时,状态栏将显示“停止录制宏”。通过在您选择的代码段上点击Ctrl++Shift来检查您的宏是否正常工作。Q
只要设置为 ,只需按下Enter就会相应地调整下一行的缩进。见,第 59 行。"auto_indent"
true
Preferences -> Settings – Default
满意后,将新宏保存为Tools -> Save Macro...
. 我将我的保存为Packages/User/smart-semicolon.sublime-macro
. 我的文件看起来像这样;如果您不能或不会手动制作宏,请随意复制它:
[
{
"args":
{
"extend": false,
"to": "eol"
},
"command": "move_to"
},
{
"args":
{
"characters": ";"
},
"command": "insert"
},
{
"args":
{
"characters": "\n"
},
"command": "insert"
}
]
"extend": false,
只是意味着宏不会将任何文本添加到工作选择中。在非官方文档命令页面上阅读有关命令选项的更多信息。
现在你有了你的宏,我们可以给它一个自定义键绑定。将以下行添加到您的Preferences -> Key Bindings – User
文件中:
{ "keys": ["ctrl+shift+;"], "command": "run_macro_file", "args": {"file": "Packages/User/smart-semicolon.sublime-macro"}, "context":
[
{ "key": "selector", "operator": "equal", "operand": "source.java" }
]
},
用您喜欢的任何键绑定替换Ctrl++ ,保存您的文件,然后Shift试一试。;该"context"
数组将键绑定限制为 Java 文件(有关上下文的更多信息,请参阅非官方文档键绑定页面);如果您希望键绑定在任何地方都处于活动状态,请改用此行:
{ "keys": ["ctrl+shift+;"], "command": "run_macro_file", "args": {"file": "Packages/User/smart-semicolon.sublime-macro"} },
这篇NetTuts+ 文章有更多关于宏以及将它们绑定到键的信息;我经常引用它。这个UserEcho 帖子看起来有更多关于使插入更可扩展的信息。
您还可以使用为此目的构建的现成的 sublime 包:AppendSemiColon
您可以使用包控制来安装它,只需搜索“AppendSemiColon”。
Place a semicolon at the end of the cursor's current line(s) by pressing:
Command+; on OS X
Ctrl+; on Windows and Linux
和
You can also automatically go to the next line at the same time like this:
Command+Shift+; on OS X
Ctrl+Shift+; on Windows and Linux
我已经使用这个包有一段时间了,效果很好。
更新:正如作者在评论中提到的,您现在还可以根据需要更改默认热键(就我个人而言,我喜欢默认设置)。例如,只需更改:
[
{ "keys": ["ctrl+;"], "command": "append_semi_colon" },
{ "keys": ["ctrl+shift+;"], "command": "append_semi_colon", "args": {"enter_new_line": "true"} }
]
在您的 sublime-keymap 中使用您想要的任何键。
我测试了最新版本,这个功能也很好用。存在一个错误,即在额外的热键按下时错误地附加了额外的分号 - 这个小烦恼也已得到修复。谢谢,莫里斯Z/mzee99!
我正在使用 Sublime Text 3 ...受您的帖子的启发,我在我的 .sublime-keymap 中添加了以下内容:
{ "keys": ["ctrl+enter"], "command": "run_macro_file", "args": {"file": "Packages/User/endOfLine.sublime-macro"} },
我很惊讶这节省了多少时间。
Ctrl+Enter将创建一个具有相同缩进级别的新行。
我找不到像你提到的Ctrl+A
@Felipe 涵盖了第二点。您可以使用简单的宏或插件来模仿第一个的行为。我说还是因为您在按下组合键后没有描述光标位置。它是否将光标移动到下一行?它是否插入新行?我想你应该已经明白了。
我很确定 Eclipse 可以在 OS X 和 Windows 上运行,所以如果您对此更满意,为什么不使用它(除非您的工作当然需要 ST)?大多数键绑定可能相同/相似(它可能是命令而不是快捷键控制)。
http://www.eclipse.org/downloads/?osType=macosx
如果您继续使用 ST,那么学习插件的基础知识可能是值得的。可以构建很多内容,以便您拥有与其他编辑器相同的行为,只是需要一些额外的努力(通过创建插件或找到执行此操作的插件)。