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

Emacs 缩进定位

作者: KristoforMaynard ST3

为 Sublime Text 添加 Emacs 风格的缩进定位支持

详细信息

  • 0.2.1
  • github.​com
  • github.​com
  • 9年前
  • 60分钟前
  • 9年前

安装次数

  • 总计: 2K
  • Win 846
  • Mac 419
  • Linux 496
Aug 6 Aug 5 Aug 4 Aug 3 Aug 2 Aug 1 Jul 31 Jul 30 Jul 29 Jul 28 Jul 27 Jul 26 Jul 25 Jul 24 Jul 23 Jul 22 Jul 21 Jul 20 Jul 19 Jul 18 Jul 17 Jul 16 Jul 15 Jul 14 Jul 13 Jul 12 Jul 11 Jul 10 Jul 9 Jul 8 Jul 7 Jul 6 Jul 5 Jul 4 Jul 3 Jul 2 Jul 1 Jun 30 Jun 29 Jun 28 Jun 27 Jun 26 Jun 25 Jun 24 Jun 23
Windows 0 0 0 2 0 0 0 0 0 0 2 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
Mac 1 1 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 0 0 0 0 0 1 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 2 0 0 0 0 0 0 0 0 0 0 0 0 0

README

源代码
raw.​githubusercontent.​com

EmacsTabstops

为 Sublime Text 提供更好的缩进定位支持。整个想法是使定位符不仅仅是缩进宽度。这在对以 Emacs 编写的文件进行编辑时非常有价值,其中定位符为 8 个空格,但缩进宽度可能为 2 或 4 个空格。

默认情况下,此插件将在加载时将所有制表符转换为空格,并在保存时将那些区域再次转换为制表符。这种行为允许您使用空格编辑文件,但保持磁盘上的制表符,以免在差异等中显示空白更改。为了获得全 Emacs 功能,其中行首的所有 8 个空格集都变为制表符,请将 emacs_tabstops_all_to_tabs 设置为 true。相反,为了在保存时保留空格,请将 emacs_tabstops_convert_on_save 设置为 “never”。

状态

目前为 beta 质量。日常使用效果良好,但不要对小的故障感到惊讶。

设置

这些设置应在首选项或项目文件中。

  • emacs_tabstops_tabstop:替代的空格整数数。 (默认:8)
  • emacs_tabstops_convert_on_load:{true, false} 加载时将制表符转换为空格。注意,如果文件中不存在制表符,则不会进行转换。(默认:true)
  • emacs_tabstops_convert_on_save:{'always', 'auto', 'never'} (默认:'auto')

    • always:在保存时始终将空格转换为制表符
    • auto:如果之前已为此缓冲区运行了 tab -> space,则执行转换
    • never:在保存时不将空格转换为制表符

    如果进行了转换,则在保存缓冲区后将再次将制表符替换为空格。

  • emacs_tabstops_all_to_tabs:{true, false} 在转换到制表符时,控制是否将所有定位符宽度的缩进空间转换为制表符。如果为 false,则仅将已将制表符转换为空格的区域转换回。 (默认:false)

  • emacs_tabstops_skip_filetypes:在加载/保存时忽略的文件类型列表。您仍然可以手动调用此插件对这些文件进行操作。(默认:['Python', 'Cython', 'Makefile', 'Makefile.am']

用法

  • 使用converton{load,save}设置来自动进行转换。
  • 命令在“EmacsTabstops: *”菜单中可用。
  • 您也可以通过快捷键<cmd + alt + tab>在制表符和空格之间切换。
  • 要仅将制表符转换为空格,请使用 <cmd + alt + shift + tab>。

问题

  • Linux/Windows没有快捷键。如果您使用这些平台并有自然的快捷键组合,请提交一个pull request :)
  • 如果文件在SublimeText之外更改并被自动重新加载,似乎没有检测到这种变化将制表符转换为空格的方法。为此,您需要手动运行 <cmd + alt + shift + tab>。