热键以分号结束行并跳转到 Sublime Text 2 中的新行

     2023-03-17     84

关键词:

【中文标题】热键以分号结束行并跳转到 Sublime Text 2 中的新行【英文标题】:Hotkey to end the line with a semicolon and jump to a new line in Sublime Text 2 【发布时间】:2013-05-16 12:49:00 【问题描述】:

我正在尝试找出工作中的热键。我刚得到这份工作,我或多或少第一次使用 Mac。

回到我的笔记本电脑上,使用 Eclipse 时,我似乎记得有一个热键可以同时使用:

; 添加到我当前行的末尾(无论插入符号在所述行内的哪个位置) 将光标放在新行的开头,缩进级别与我刚刚添加分号的行相同

有人知道这是否是 Eclipse 特定的热键,或者知道在 Sublime Text 2 中复制所述热键的方法吗?

【问题讨论】:

【参考方案1】:

对此的最佳解决方案是在 Sublime Text 上录制宏,然后将其分配给键盘快捷键。请按以下步骤操作:

    创建一行如 alert('hello') 并将光标留在右边 在字母“o”之后。 然后转到工具>录制宏开始录制。 按 Command+ 转到行尾。 按 ; 并按 Enter 转到工具>停止录制宏停止录制宏 您现在可以通过工具 > 播放宏(可选)测试您的宏 转到工具>保存宏保存您的宏(例如:EndOfLine.sublime-macro)

    通过在您的方括号之间添加此快捷方式来创建快捷方式 在您的首选项 > 键绑定 - 用户文件中:

    
    "keys": ["super+;"], "command": "run_macro_file", "args": "file": "Packages/User/EndOfLine.sublime-macro"
    
    
    现在,每次你点击Command+;,它都会 神奇地将分号放在当前行的末尾并将光标移动到下一行。

编码愉快!

【讨论】:

这正是我想要的。谢谢! 在 Windows 中怎么样。而不是命令。应该是ctrl吗? @Vincent 可以使用 End 键代替 Command+RightArrow 适用于 Windows 用户。将宏绑定到“ctrl+;”使用以下代码: "keys": ["ctrl+;"], "command": "run_macro_file", "args": "file": "Packages/User/EndOfLine.sublime-macro" 这不适用于意大利语键盘,因为分号可以通过 shift 和逗号---> 访问,所以这种情况下的组合应该是"ctrl+,",或者类似的东西。【参考方案2】:

在阅读了您的问题三遍之后,我终于意识到您正在寻找 one 热键来执行这两个操作。哎呀。

您的请求听起来像 Smart Semicolon Eclipse 插件的 Ctrl+Shift+; 热键。虽然添加 semicolons of a genius-level IQ 可能需要一个全新的 Sublime Text 2 插件,但您可以使用 Sublime Text 的 Macros 轻松创建智能分号式键绑定。其实直到现在我才知道他们!

在这种情况下,自己录制宏实际上是创建宏的最快方法,而不是复制和粘贴新文件(现在您将拥有制作更多文件的经验)。首先,打开一个新文件并输入你最喜欢的垃圾行:

Lord Vetinari's cat|

然后将插入符号移动到行内的任意位置:

Lord Veti|nari's cat

现在,按 Ctrl+Q,这是Tools -> Record Macro 的热键。如果启用状态栏,它将通知您它正在“开始录制 [a] 宏”。按 End(如果您没有 End 键,请跳到下面),然后按 ;,然后按 Enter。最后,再次按 Ctrl+Q 停止录制。当你这样做时,状态栏将显示“停止录制宏”。在您选择的代码段上按 Ctrl+Shift+Q 检查您的宏是否正常工作。

只要将"auto_indent" 设置为true,只需按Enter 就会相应地调整下一行的缩进。请参阅Preferences -> Settings – Default,第 59 行。

如果您满意,请使用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, 只是意味着宏不会将任何文本添加到工作选择中。在Unofficial Docs Commands Page 上阅读有关命令选项的更多信息。

现在您有了宏,我们可以给它一个自定义键绑定。将以下行添加到您的 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 文件(有关上下文的更多信息,请参见 the Unofficial Docs Key Bindings 页面);如果您希望键绑定在任何地方都处于活动状态,请改用此行:

  "keys": ["ctrl+shift+;"], "command": "run_macro_file", "args": "file": "Packages/User/smart-semicolon.sublime-macro" ,

这个NetTuts+ article 有很多更多关于宏和将它们绑定到键的信息;我经常引用它。这个UserEcho post 看起来有更多关于使插入更可扩展的信息。

【讨论】:

很高兴您能理解我的要求,但到目前为止,您列出的内容对我不起作用...... --- *** 上有私人消息吗?我不能把代码放在这些愚蠢的 cmets 中 @SamuelStiles 这很奇怪。 SO 没有消息系统,但请随时给我发送电子邮件(查看我的user page),我很乐意提供帮助。我们解决问题后我会更新答案。 今晚下班回家后我会这样做 - 很快就会和你谈谈! +1 用于提及宏,这是我很少使用但非常适合这种情况的宏。 @SamuelStiles 我发现键绑定代码有问题; equals 应该是 equal。希望这可以解决您的问题。【参考方案3】:

您也可以使用为此目的构建的现成的 sublime 包:AppendSemiColon

您可以使用package control 安装它,只需搜索“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

我使用这个包已经有一段时间了,效果很好。

更新: 正如作者在评论中提到的,您现在还可以更改default hotkeys,如果您愿意(就我个人而言,我喜欢默认设置)。例如,只需更改:

[
   "keys": ["ctrl+;"], "command": "append_semi_colon" , 
   "keys": ["ctrl+shift+;"], "command": "append_semi_colon", "args": "enter_new_line": "true" 
]

在您的 sublime-keymap 中使用您想要的任何键。

我测试了最新版本,这个功能也很好用。存在一个错误,即在额外的热键按下时错误地附加了额外的分号 - 这个小烦恼也已得到修复。谢谢,MauriceZ/mzee99!

【讨论】:

嘿,这是我做的!几天前我发布了一个更新,它应该允许您绑定自定义热键。 最好更改默认键绑定 - 在 ST3 上,ctrl+;表示打开 goto anything 功能(#),即在文件中进行模糊搜索。另外, shift + ;以 : 在我的英文键盘上结束,有效地使第二个命令无法访问。除此之外,很棒的小帮手! 完美,非常感谢作者,我做了一个自定义快捷方式,太棒了! [ "keys": ["super+;"], "command": "append_semi_colon", "args": "enter_new_line": "true" ]【参考方案4】:

Ctrl+Enter 将创建一个具有相同缩进级别的新行。

我找不到像你提到的 Ctrl+A 这样的东西

【讨论】:

你可以用这个syntax创建你自己的绑定【参考方案5】:

我正在使用 Sublime Text 3 ... 受到您帖子的启发,我在 .sublime-keymap 中添加了以下内容:

 "keys": ["ctrl+enter"], "command": "run_macro_file", "args": "file": "Packages/User/endOfLine.sublime-macro" ,

我很惊讶这节省了多少时间。

【讨论】:

【参考方案6】:

@Felipe 涵盖了第二点。您可以使用简单的宏或插件来模仿第一个的行为。我说还是因为您在按下组合键后没有描述光标位置。它是否将光标移动到下一行?它是否插入新行?我想你应该已经明白了。

我很确定 Eclipse 可以在 OS X 和 Windows 上运行,所以如果您对此更满意,为什么不使用它(除非您的工作当然需要 ST)?大多数键绑定可能相同/相似(它可能是命令而不是快捷键控制)。

http://www.eclipse.org/downloads/?osType=macosx

如果您继续使用 ST,那么学习插件的基础知识可能是值得的。可以构建很多内容,以便您拥有与其他编辑器相同的行为,只是需要一些额外的努力(通过创建插件或找到执行此操作的插件)。

【讨论】:

判断网站是否手机访问并跳转到指定的wap网站

第一种:直接JS脚本<scripttype="text/javascript">try{varurlhash=window.location.hash;if(!urlhash.match("fromapp")){if(navigator.userAgent.match(/(iPhone|iPod|Android|ios|iPad)/i)){window.location="http:/ 查看详情

方法调用在两者之间终止并跳转到下一个方法调用

】方法调用在两者之间终止并跳转到下一个方法调用【英文标题】:Methodcallterminatesinbetweenandjumpstothenextmethodcall【发布时间】:2012-08-2217:34:25【问题描述】:我正在尝试在android中构建一个记事本应用程序。我在这种情况下,当用... 查看详情

phpgf表单提交并跳转到表单(代码片段)

查看详情

如何让qemu产生外部中断并跳转到isr(裸机代码)

】如何让qemu产生外部中断并跳转到isr(裸机代码)【英文标题】:Howtomakeqemugenerateexternalinterruptandjumptoisr(baremetalcode)【发布时间】:2018-05-0418:09:42【问题描述】:我有一个在qemu中运行的stm32(arm-cortexm3)固件,想模拟一个硬件中断... 查看详情

读取文件时Python中的UnicodeDecodeError,如何忽略错误并跳转到下一行?

】读取文件时Python中的UnicodeDecodeError,如何忽略错误并跳转到下一行?【英文标题】:UnicodeDecodeErrorinPythonwhenreadingafile,howtoignoretheerrorandjumptothenextline?【发布时间】:2014-08-2807:04:26【问题描述】:我必须将文本文件读入Python。文... 查看详情

Atom 编辑器:列出并跳转到项目中的定义

】Atom编辑器:列出并跳转到项目中的定义【英文标题】:Atomeditor:listandjumptodefinition(s)inproject【发布时间】:2017-05-2600:29:17【问题描述】:如前所述,我正在使用Atom文本编辑器。我目前正在开发一个用C++编写的项目。当然,最好... 查看详情

php弹出提示框并跳转到新页面即重定向到新页面

本文为大家介绍下使用PHP弹出提示框并跳转到新页面,也就是大家所认为的重定向,下面的示例大家可以参考下 这两天写一个demo,需要用到提示并跳转,主要页面要求不高,觉得没必要使用AJAX,JS等,于是研究了下怎么在PH... 查看详情

使用 javascript 暂停 CSS 动画并跳转到动画中的特定位置

】使用javascript暂停CSS动画并跳转到动画中的特定位置【英文标题】:PausingCSSanimationwithjavascriptandalsojumpingtoaspecificplaceintheanimation【发布时间】:2014-03-3114:13:23【问题描述】:我有一个完全用CSS动画构建的无限滑块,我希望能够使... 查看详情

treeview节点的属性navigateurl如何带参跳转并跳转到指定页面?

TreeNodet=newTreeNode(xs);t.NavigateUrl="url";tn.ChildNodes.Add(t);//将t添加到tn节点下参考技术A在NavigateUrl属性上设置好完整的连接信息就可以了。使用?=等在url后连接参数。 查看详情

使用 Swift 2.0 解析并跳转到 JSON 文件中的下一个块

】使用Swift2.0解析并跳转到JSON文件中的下一个块【英文标题】:ParsingandJumpingintothenextblockinJSONfilewithSwift2.0【发布时间】:2016-02-1003:02:25【问题描述】:我目前正在学习如何在Swift2.0中获取和解析JSON文件。这是我从朋友那里提供... 查看详情

toke过期失效---提示并跳转到登录页面

参考技术Atoken过期自动跳转到登录页面设置token有效期为2小时,超过两小时token失效,接口返回结果:code:0,msg:'token过期',每次路由跳转都会对token进行判断,设置一个全局的beforeEach钩子函数,如果token存在就跳到你所需要... 查看详情

动态生成urlscheme并跳转到小程序(代码片段)

之前在h5中打开小程序可以在微信公众平台设置URLScheme,自2022年4月11日起,URLScheme有效期最长30天,不再支持永久有效的URLScheme、不再区分短期有效URLScheme与长期有效URLScheme。若在微信外打开,用户可以在浏览器... 查看详情

动态生成urlscheme并跳转到小程序(代码片段)

之前在h5中打开小程序可以在微信公众平台设置URLScheme,自2022年4月11日起,URLScheme有效期最长30天,不再支持永久有效的URLScheme、不再区分短期有效URLScheme与长期有效URLScheme。若在微信外打开,用户可以在浏览器... 查看详情

linux创建一个文件夹并跳转到该文件目录下

1、在当前目录下创建一级目录mkdir文件夹cd文件夹2、在当前目录下创建多级目录mkdir-p文件夹1/文件夹2cd文件夹1/文件夹23、不再当前目录下创建,则在文件夹前加上目录路径参考技术Amkdir文件夹cd文件夹 参考技术Bmkdirdirnamecddirname 查看详情

登陆判读,并跳转到指定页面(window.location.href='http://localhost/index.html')

12345678910111213141516171819202122232425262728293031323334functionconfirm(){  vartel=$tel.val();//获取页面中登录名和密码  varpwd=$pwd.val();  if(tel==""||pwd==""){//判断两个均不为空(其他判断规则 查看详情

前端的token验证(以vue为例)

...个token3、前端拿到token,将token存储到localStorage和vuex中,并跳转路由页面4、前端每次跳转路由,就判断localStroage中有无token,没有就跳转到登录页面,有则跳转到对应路由页面5、每次调后端接口,都要在请求头中加token6、后端判... 查看详情

在 T-SQL 中手动引发错误以跳转到 BEGIN CATCH 块

...描述】:是否可以手动在存储过程中引发错误以停止执行并跳转到BEGINCATCH块?C#中thrownewException()的一些模拟。这是我的存储过程的主体:BEGINTRYBEGINTRAN--dosome 查看详情

在 Sublime Text 上 SASS 缺少分号的自动完成?

】在SublimeText上SASS缺少分号的自动完成?【英文标题】:AutocompletewithSASSmissingsemicolononSublimeText?【发布时间】:2014-03-2402:36:19【问题描述】:我刚刚开始使用带有SublimeText2的SASS并且非常喜欢它。但是,一些适用于CSS的自动完成功... 查看详情