ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

键盘导航

robertcollier4 全部

快速在相邻边界之间导航。通过键盘移动和选择以及删除到自定义界定符。适用于SublimeText ST2 ST3

详细信息

安装次数

  • 总次数 1K
  • Win 757
  • Mac 177
  • Linux 154
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0
Mac 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

说明文档

源代码
raw.​githubusercontent.​com

键盘导航

通过键盘移动、选择和删除到单词开头和自定义界定符。通过视觉检查快速在相邻边界之间导航。适用于SublimeText ST2 ST3。

您始终移动到某个地方的开头,而不是非确定性的(由空白字符分隔的连续边界的开头)。在以下示例中,您移动到划分的地方。到达开头后,从开头移动。

|sample |text |thisisthebeginning |, |233434343

因此,通过视觉检查您可以知道要按键多少次才能到达您想去的地方。(按键预规划)。

这可以被视为类似vim中的模式,在“w”和“b”以及“W”和“B”单词之间移动。但这是将其扩展到箭头键,并推广到所有功能,例如删除和退格键。

软件包安装

  • 手动方法:从github下载ZIP文件。将文件提取到Sublime_Data_Dir\Packages\KeyboardNavigation
  • 自动方法:从Package Control安装'KeyboardNavigation'。

键绑定说明

推荐快捷键: * ctrl+left 将光标移至下一段空白隔开的连续边界处 * ctrl+right 将光标移至上一段空白隔开的连续边界处 * alt+left 将光标移至上一个由符号界定的子单词边界处 * alt+right 将光标移至下一个由符号界定的子单词边界处 * home 将光标移至行末开始处(始终移至最开头,而默认移动到缩进开始处) * end 将光标移至行末结束处 * ctrl+shift+left 选中下一段空白隔开的连续边界处 * ctrl+shift+right 选中上一段空白隔开的连续边界处 * alt+shift+left 选中上一个由符号界定的子单词边界处 * alt+shift+right 选中下一个由符号界定的子单词边界处 * shift+home 选中整行开始处(始终移至最开头,而默认移动到缩进开始处) * shift+end 选中整行结束处 * ctrl+shift+w 将选中范围扩展到空白字符 * ctrl+shift+e 将选中范围扩展到符号 * ctrl+shift+q 将选中范围扩展到引号“,”,”‘” * ctrl+shift+b 将选中范围扩展到括号(,),<>,[],],{},{} * ctrl+shift+l 选中包含换行符的行 * ctrl+alt+shift+l 选中不包含换行符和前置制表符的行 * ctrl+backspace 删除到上一个连续边界(由空白字符分隔) * ctrl+delete 删除到下一个连续边界(由空白字符分隔) * alt+backspace 删除到上一个由符号界定的子单词边界 * alt+delete 删除到下一个由符号界定的子单词边界 * ctrl+o 删除包含换行符的行 * ctrl+alt+o 删除不包含换行符的行 * ctrl+shift+c 复制全文 * ctrl+shift+x 剪切全文 * ctrl+v 粘贴(与原生的粘贴不同,稀疏复制到非选择行时不会在上方添加换行符) * ctrl+alt+v 粘贴到上一行(如果剪贴板中没有换行符,将添加一个) * ctrl+alt+down 将上行的文本向下交换(与原生交换) * ctrl+alt+up 将下行的文本向上交换(与原生交换) * ctrl+d 复制上述行(而不是像原生那样复制到下一行) * ctrl+alt+left 在上一行添加空行 * ctrl+alt+right 在下一行添加空行 * ctrl+alt+- 缩进减少(向左) * ctrl+alt+= 缩进增加(向右)(即使在空白行上也有效,这是默认所没有的)

快捷键配置

由于这将重新定义/替换您的基本导航键,因此软件包不会自动覆盖现有的快捷键。您必须为自己选择的操作系统添加特定的快捷键。

对于Windows,您可以通过在Sublime_Data_Dir\Packages\User\Default (Windows).sublime-keymap中添加以下行来使用推荐的快捷键。

{ "keys": ["ctrl+left"], "command": "move_to_beg_of_contig_boundary", "args": {"forward": false} },
{ "keys": ["ctrl+right"], "command": "move_to_beg_of_contig_boundary", "args": {"forward": true} },
{ "keys": ["alt+left"], "command": "move_to_beg_of_subword_boundary", "args": {"forward": false} },
{ "keys": ["alt+right"], "command": "move_to_beg_of_subword_boundary", "args": {"forward": true} },

{ "keys": ["home"], "command": "kn_linelimit", "args": {"forward": false} },
{ "keys": ["end"], "command": "kn_linelimit", "args": {"forward": true} },

{ "keys": ["ctrl+shift+left"], "command": "select_to_beg_of_contig_boundary", "args": {"forward": false} },
{ "keys": ["ctrl+shift+right"], "command": "select_to_beg_of_contig_boundary", "args": {"forward": true} },
{ "keys": ["alt+shift+left"], "command": "select_to_beg_of_subword_boundary", "args": {"forward": false} },
{ "keys": ["alt+shift+right"], "command": "select_to_beg_of_subword_boundary", "args": {"forward": true} },

{ "keys": ["shift+home"], "command": "select_to_kn_linelimit", "args": {"forward": false} },
{ "keys": ["shift+end"], "command": "select_to_kn_linelimit", "args": {"forward": true} },

{ "keys": ["ctrl+shift+w"], "command": "expand_selection_to_whitespace" },
{ "keys": ["ctrl+shift+e"], "command": "expand_selection_to_delims" },
{ "keys": ["ctrl+shift+q"], "command": "expand_selection_to_quotes"},
{ "keys": ["ctrl+shift+b"], "command": "expand_selection_to_brackets"},
{ "keys": ["ctrl+shift+l"], "command": "select_line" },
{ "keys": ["ctrl+alt+shift+l"], "command": "select_line_wo_linebreak" },

{ "keys": ["ctrl+backspace"], "command": "delete_to_beg_of_contig_boundary", "args": {"forward": false} },
{ "keys": ["ctrl+delete"], "command": "delete_to_beg_of_contig_boundary", "args": {"forward": true} },
{ "keys": ["alt+backspace"], "command": "delete_to_beg_of_subword_boundary", "args": {"forward": false} },
{ "keys": ["alt+delete"], "command": "delete_to_beg_of_subword_boundary", "args": {"forward": true} },

{ "keys": ["ctrl+o"], "command": "delete_line" },
{ "keys": ["ctrl+alt+o"], "command": "delete_line_wo_linebreak" },

{ "keys": ["ctrl+shift+c"], "command": "copy_fulllines" },
{ "keys": ["ctrl+shift+x"], "command": "cut_fulllines" },
{ "keys": ["ctrl+v"], "command": "kn_paste" },
{ "keys": ["ctrl+alt+v"], "command": "paste_above_lines" },

{ "keys": ["ctrl+alt+up"], "command": "swap_line_up" },
{ "keys": ["ctrl+alt+down"], "command": "swap_line_down" },
{ "keys": ["ctrl+d"], "command": "kn_duplicate_line" },
{ "keys": ["ctrl+alt+left"], "command": "blankline_add", "args": {"forward": false} },
{ "keys": ["ctrl+alt+right"], "command": "blankline_add", "args": {"forward": true} },

{ "keys": ["ctrl+alt+-"], "command": "kn_indent", "args": {"forward": false} },
{ "keys": ["ctrl+alt+="], "command": "kn_indent", "args": {"forward": true} }

与vim的对比

vim具有这种概念的“w”和“b”键的晦涩结构。

有关在vim中实现此概念的范例,请参阅vim中的“w”和“b”移动。每次都将单词的开始移动。还有大写的“W”和“B”用于子单词。键盘导航将其以箭头键的形式带给您。

https://docs.oracle.com/cd/E19683-01/806-7612/6jgfmsvqf/index.html - 滚动到“移动一个单词”部分。
https://stackoverflow.com/questions/22931032/vim-word-vs-word 查看“单词”与“WORD”的定义
https://www.computerhope.com/unix/vim.htm - 滚动到“从单词到单词移动”部分
https://vim.rtorr.com/ - 查看“w”,“W”,“b”,“B”的定义
https://forum.sublimetext.com/t/%E8%AE%BE%E7%BD%AE%E7%9B%B4%E6%8E%A5%E7%A9%BA%E6%A0%8F%E9%94%AE%E5%8A%A0%E5%85%A5%E6%96%B0%E4%B8%80%E8%AF%8D%E8%BE%93%E5%85%A5%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%AD%97%E7%AC%A6/21474 - 这个概念在这里进行描述

使用箭头键更为周到。而且,与 Ctrl 和 Alt 结合使用,可以使其手部操作更容易且更具空间方向性。我们知道,我们想要移动到下一个单词并想要移动到开头,这样我们就知道我们要去哪里。Vim 允许你这样做,但是通过间隔较远的按键并且不具有空间方向性。Sublime 使用了键盘导航。

键盘导航允许像 Vim 中的“w”和“b”概念那样,通过有意义的箭头键进行连续边界移动。