Sublime Text 2将光标移出圆括号,引号或括号

我需要一个快速的方法来使光标跳出自动换行或其他语法元素。 我不希望每次都要到达我的箭头键,绝对不想去我的鼠标。

在这里输入图像说明

有没有一个简单快捷的方法来解决我的工作stream程?

您可以使用快捷键( shift + 空格或任何您喜欢的)来移动光标。

在你的Key Bindings - User

 { "keys": ["shift+space"], "command": "move", "args": {"by": "characters", "forward": true} } 

我也用macros做了几个键绑定。

除非你想花更多的时间来构build它们,否则你必须为它们制作一个macros ,但是这非常简单。 只要去崇高的文字, Tools > Record Macro ,或点击ctrl Q 将文件保存在Packages / User /中,然后点击 ,打开用户设置。 粘贴下面的设置在那里和景气。 (下面的代表我的光标)

在这里输入图像说明

这是我select的那个:


function自动括弧器

当这个光标在这里时:

 totallyAwesomeness(|) 

使用选项+蒂尔达快捷键。

⌥〜

用括号和文本'#code …'预先填充函数。 它只在括号内起作用。

崇高的用户设置

 { "keys": ["option+`"], "command": "run_macro_file", "args": {"file": "Packages/User/superBracketizeFunction.sublime-macro"} }, 

下载macros


带有分号的自动结束行

当这个光标在这里时:

 echo 'say what!!??|' 

使用命令+分号快捷键。

⌘;

这增加了收盘价; 在当前行的末尾,并将其移动到下面的行。 无论你在哪里,它都可以工作。

崇高的用户设置

 { "keys": ["super+;"], "command": "run_macro_file", "args": {"file": "Packages/User/superEndLineWiSemiColin.sublime-macro"} }, 

下载macros


退出参数和退出function

当你的光标在函数内部的任何地方时,它将在这里结束:

 public function totallyAwesomeness() { echo 'say what!!??'; } | echo 'yep... that just happened'; 

使用命令+input快捷键。

⌘input

这可以让你跳出论证之外的空间,也可以从函数内部的任何地方跳出,只是右括号。

崇高的用户设置

 { "keys": ["option+enter"], "command": "run_macro_file", "args": {"file": "Packages/User/superExitFunctionArg.sublime-macro"} }, 

下载macros


以防万一你不知道你的用户文件夹是什么path,如下所示。

 /Users/alexcory/Library/Application Support/Sublime Text 3/Packages/User/ 

此外,库文件夹通常是隐藏的,所以你可以下载一个名为Revealer的程序,让你切换这些隐藏的文件。

如果你想知道我是怎么让这些打我的,我会告诉你的! :d

最好的解决scheme是在Sublime Text上录制macros ,然后将其分配给键盘快捷键。 按着这些次序:

  1. 创build一个如alert('hello')的行,并在字母“o”后面留下光标。
  2. 然后转到工具>录制macros以开始录制。
  3. Command + 进入行尾。
  4. ; 并按Enter键
  5. 通过转到工具>停止录制macros停止录制macros
  6. 您现在可以通过工具>播放macros (可选)来testing您的macros
  7. 通过转到工具>保存macros (例如:EndOfLine.sublime-macro)来保存macros
  8. 通过在您的首选项>键绑定 – 用户文件中的方括号之间添加快捷方式来创build快捷方式:

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

快乐的编码!

一个更完整的方式来做一个键绑定将是:

  { "keys": ["shift+space"], "command": "move", "args": {"by": "characters", "forward": true}, "context": [ { "key": "following_text", "operator": "regex_contains", "operand": "^[)\"\\]]", "match_all": true }, { "key": "auto_complete_visible", "operator": "equal", "operand": false } ] }, 

假设你想要shift + 空格作为快捷键。 或者,您也可以将其更改为选项卡

http://www.sublimetext.com/forum/viewtopic.php?f=3&t=5174#p23086

在Riccardo Marotti的职位之后;

如果您想要绕过下一行的括号,可以在args部分用“lines”replace“characters”。

 { "keys": ["shift+space"], "command": "move", "args": {"by": "lines", "forward": true} } 

在戴尔XPS上,Ctrl Enter对我来说是个诀窍

我只是在名为run_multiple_commands.py的插件的帮助下部分实现了这个function(见下文)

仅在ST3上testing过,但是插件比ST3的第一个版本早,并且也可以在ST2上运行)。

快捷键configuration如下:

 { "keys": ["shift+space"], "command": "run_multiple_commands", "args": { "commands": [ {"command": "move", "args": {"by": "characters", "forward": true} } ] }, "context": [ { "key": "preceding_text", "operator": "regex_contains", "operand": "[)\\]}'\"]$", "match_all": true}, { "key": "auto_complete_visible", "operator": "equal", "operand": false } ] }, { "keys": ["shift+space"], "command": "run_multiple_commands", "args": { "commands": [ {"command": "move", "args": {"by": "characters", "forward": true} }, ] }, "context": [ { "key": "following_text", "operator": "regex_contains", "operand": "^[)\\]}'\"]", "match_all": true }, { "key": "auto_complete_visible", "operator": "equal", "operand": false } ] }, { "keys": ["shift+space"], "command": "run_multiple_commands", "args": { "commands": [ {"command": "move_to", "args": {"to": "brackets"} }, ] }, "context": [ { "key": "following_text", "operator": "regex_contains", "operand": "^[(\\[{]", "match_all": true }, { "key": "auto_complete_visible", "operator": "equal", "operand": false } ] }, { "keys": ["shift+space"], "command": "run_multiple_commands", "args": { "commands": [ {"command": "move_to", "args": {"to": "brackets"} }, {"command": "move", "args": {"by": "characters", "forward": true} }, ] }, "context": [ { "key": "following_text", "operator": "not_regex_contains", "operand": "^[)\\]}'\"]", "match_all": true }, { "key": "preceding_text", "operator": "not_regex_contains", "operand": "[)\\]}'\"]$", "match_all": true}, { "key": "following_text", "operator": "not_regex_contains", "operand": "^[(\\[{]", "match_all": true }, { "key": "auto_complete_visible", "operator": "equal", "operand": false } ] }, 

一个快捷方式( shift+space )有四个条件:

  1. 光标位于引号或括括号/括号后面:

    向前移动一个字符

  2. 光标位于引号或括括号/括号之前:

    向前移动一个字符

  3. 光标就在打开圆括号/括号之前:

    移动到closures圆括号/括号

  4. 1 &&! 2 &&! 3

    移动到closures圆括号/括号

    并向前移动一个字符

要在你的ST中使用这个configuration,你应该首先添加一个名为run_multiple_commands.py的文件到你的.../Package/User/目录中,其内容是本文的第二个代码段

这个解决scheme对于日常使用来说很好,但并不完美,因为:

  1. 光标无法跳出引号(只要光标后面紧跟着一行)。
  2. 当代码块被注释时,游标不能跳出最近的括号,引号或括号。

Ctrl + M是我在Windows机器上默认的一个。 去做就对了

也许结束键靠近你的手指。

我使用Ctrl + F将光标向前移动一个空格。 另外,在Mac上,我用ctrl交换了大写locking大写locking + f更容易达到。 它对我来说工作得很好。

我发现了另一种在崇高的键盘本身内的方式。 基本上,我只是修改了自动closuresparens的键绑定,就是用"contents": "($0)"replace"contents": "($0)" "contents": "($1)$0" 。 然后只需点击Tab即可离开括号。 所以我在我的键盘里添加如下内容:

 { "keys": ["("], "command": "insert_snippet", "args": {"contents": "($1)$0"}, "context": [ { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|;|\\}|$)", "match_all": true } ] }, 

和方括号,大括号,单引号和双引号相似。

 Ctrl + PgUp Cycle up through tabs Ctrl + PgDn Cycle down through tabs 

这可以到括号的末尾