Sublime Text 编辑器 插件 之 "Sublime Alignment" 详解

作者:shede333
主页:http://my.oschina.net/shede333
版权声明:原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | [Creative Commons BY-NC-ND 3.0][]



#Sublime Text 编辑器 插件 之

"Sublime Alignment" 详解

Sublime Alignment 主要用于代码对齐,最新版据说已经集成了这个插件。 下载地址:



插件安装方式、以及较好的插件推荐,如下:

Sublime Text 2 入门及技巧 | Lucifr

编码神器 Sublime Text 包管理工具及扩展大全 - 开源中国社区



Mac上的设置文件位置:
左上角Sublime Text -> Preferences -> Package Settings ->Alignment 如果没有最后的"Alignment"选项,说明你还没有安装此插件。

这里面有5个选项:

  • Settings- Default
  • Settings- User
  • Settings- Syntax Specific - User
  • Key Bildings - Default
  • Key Bildings - User

带有后缀Default的,为默认设置,每次升级插件都会重置这里的设置。所以尽量不要修改这里,否则升级会丢失你原先的设置。

带有后缀User的,为用户自定义设置,你可以把Default里面的设置全部复制一份到这里,然后再修改,这里存在的设置选项会覆盖Default里面的,即User的优先级更高。

Key Bildings为快捷键设置,默认的快捷键很有可能因为和其他快捷键冲突而无效, 所以及可以在Key Bildings - User里重新设置(格式可以仿照Default里的写法)。
此快捷键是用来 实现对齐的。



这个插件的默认设置Settings- Default如下:

{
    // If the indent level of a multi-line selection should be aligned
    "align_indent": true,

    // If indentation is done via tabs, set this to true to also align
    // mid-line characters via tabs. This may cause alignment issues when
    // viewing the file in an editor with different tab width settings. This
    // will also cause multi-character operators to be left-aligned to the
    // first character in the operator instead of the character from the
    // "alignment_chars" setting.
    "mid_line_tabs": false,

    // The mid-line characters to align in a multi-line selection, changing
    // this to an empty array will disable mid-line alignment
    "alignment_chars": ["="],

    // If the following character is matched for alignment, insert a space
    // before it in the final alignment
    "alignment_space_chars": ["="],

    // The characters to align along with "alignment_chars"
    // For instance if the = is to be aligned, there are a number of
    // symbols that can be combined with the = to make an operator, and all
    // of those must be kept next to the = for the operator to be parsed
    "alignment_prefix_chars": [
        "+", "-", "&", "|", "<", ">", "!", "~", "%", "/", "*", "."
    ]
}


##参数详解

下面为原始测试数据

int aa = 1;
    char bb = ‘a‘;
        float fff = 2;
unsigned int d = 1;


###"align_indent":

开关量,默认为true,

  • true,则把选择的多行的 不同缩进级别也变成相同的缩进(最大的缩紧级别),结果如下:
        int aa = 1;
        char bb = ‘a‘;
        float fff = 2;
        unsigned int d = 1;
  • flase,只是对齐,不改变缩进级别
int aa            = 1;
    char bb       = ‘a‘;
        float fff = 2;
unsigned int d    = 1;


###"mid_line_tabs"

开关量,默认为false。
如果你的文本是使用Tab键缩进排版,设置该变量为true时,那么该插件在对齐文本的时候也使用Tab键来对齐缩进。
但是这样可能会出现问题,因为Tab键在不同的编辑器上代表的空格数可能不同(Sublime 是代表4个空格), 当你使用别的编辑器打开该文件时,简而言之,就是排版可能就不是对齐的了。



###"alignment_chars"

对齐字符

这是一个数组,可以这样设置多个字符:alignment_chars": ["=","*","a"]
默认只有“=”字符,即alignment_chars": ["="]
数组里面的字符就是放在中线对齐的字符。
如下面都把“=”排成一列中线对齐

        int aa         = 1;
        char bb        = ‘a‘;
        float fff      = 2;
        unsigned int d = 1;

例如设置里增加“*”号,即:alignment_chars": ["=","*"]
结果如下:

原文:

int *aa = 1;
    char *bb = ‘a‘;
        float *fff = 2;
unsigned int *d = 1;

排列对齐后:(把“*”号排成对齐的一列)

        int          *aa = 1;
        char         *bb = ‘a‘;
        float        *fff = 2;
        unsigned int *d = 1;


###"alignment_space_chars"

和**"alignment_chars"**一样,也是数组格式 默认值包含“=”号,即:alignment_space_chars": ["*","="]

就是这个数组包含上面**"alignment_chars"里的字符, 对齐后,在其前面增加一个空格。
如果这里不包含
"alignment_chars"**里的字符,对齐后,在其前面没有空格。

可以这样说, **"alignment_space_chars"数组是"alignment_chars"**数组的子集。

原文还在文章的起始处,这里设置包含“=”,
alignment_space_chars": ["="]
结果如下:

        int aa         = 1;
        char bb        = ‘a‘;
        float fff      = 2;
        unsigned int d = 1;

这里设置不包含任何字符,
alignment_space_chars": []
结果如下:

        int aa        = 1;
        char bb       = ‘a‘;
        float fff     = 2;
        unsigned int d= 1;


###"alignment_prefix_chars"

即:前缀字符 默认设置:
"alignment_prefix_chars": ["+", "-", "&", "|", "<", ">", "!", "~", "%", "/", "*", "."]

对齐字符(即alignment_chars"里的字符),可以拥有前缀字符。
例如"="号字符前可以拥有以上字符作为前缀。

原文设置如下:(这里的前缀字符有 "!"、"<"符号)

int aa = 1;
    char bb != ‘a‘;
        float fff <= 2;
unsigned int d = 1;

对齐后如下:(即把前缀字符+对齐字符一起当作对齐字符来对待)

        int aa         = 1;
        char bb        != ‘a‘;
        float fff      <= 2;
        unsigned int d = 1;


##总结

可按照以上的参数说明,自己增加对齐的字符来增强功能。
我一般需要在对齐字符前面增加一个空格,
所以我一般就保持alignment_chars 数组和 alignment_space_chars数组一致。即在所有的对齐字符前面都增加一个空格。

转载自:https://my.oschina.net/shede333/blog/170536

时间: 2024-11-08 22:12:08

Sublime Text 编辑器 插件 之 "Sublime Alignment" 详解的相关文章

开发者最常用的 8 款 Sublime Text 3 插件

转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0228/177.html?1456925631Sublime Text作为一个尽为人知的代码编辑器,其优点不用赘述.界面整洁美观.文本功能强大,且运行速度极快,非常适合编写代码,写文章做笔记.Sublime Text还支持Mac.Windows和Linux各大平台,方便用户使用.种类繁多.功能强大的插件更给Sublime Text 3锦上添花.下载Package Control后就可以迅速的开启插

推荐!Sublime Text 最佳插件列表

推荐!Sublime Text 最佳插件列表 朋友们你们好!我尝试着收集了最佳的ST插件,这些插件真的会改善你的工作流程.我搜索了很多网站,下面是我的成果. 原文链接:http://blog.jobbole.com/79326/ WebInspector 在 JavaScript调试方面,这是一个令人惊讶的工具,Sublime上的完整的代码检查工具.功能:使用绝对路径储存在用户设置中的项目断点,控制台,分步和断点调试器,栈追踪.这些都能够很棒的工作!而且Mozilla还提供了一个插件Firepl

安装Sublime Text 3插件的方法

安装Sublime Text 3插件的方法: 朋友们,小站活着不容易,全靠广告费养着了,如果本文对你有帮助.麻烦动下手点下页面的广告吧,谢谢! 直接安装 安装Sublime text 2插件很方便,可以直接下载安装包解压缩到Packages目录(菜单->preferences->packages). 使用Package Control组件安装 也可以安装package control组件,然后直接在线安装: 按Ctrl+`调出console(注:安装有QQ输入法的这个快捷键会有冲突的,输入法属

Sublime Text 2 插件

之前做android开发一直用eclipse做编辑器,之后接触ruby之后便开始用Sublime Text 2,渐渐的才发现此等编辑器的好处,也越来越依赖它. Sublime Text 2是一个轻量.简洁.高效.跨平台的编辑器,方便的配色以及兼容vim快捷键等各种优点博得了很多前端开发人员的喜爱.之前也不并知道它有这么多插件的扩展与支持,直到vincent问到有没有在用cTags插件,才知道原来Sublime通过插件也可以实现一些大型IDE的功能,遂google一下,本篇Blog就来介绍下Sub

Sublime Text 最佳插件列表(转)

Package Control 安装方法 首先通过快捷键 ctrl+` 或者 View > Show Console 打开控制台,然后粘贴相应的 Python 安装代码. Sublime Text 2 安装代码: import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp)

一些必不可少的Sublime Text 2插件

Sublime Text 2是一个轻量.简洁.高效.跨平台的编辑器,方便的配色以及兼容vim快捷键等各种优点博得了很多前端开发人员的喜爱,当然也包括我,在看到小飞的介绍后,我就一直在用了.本文推荐一些好用的插件和扩展. Sublime Text 2基本上是共享软件,免费版和收费版基本无区别,只是偶尔会弹框让你去购买,这个基本不影响使用.如果你不了解它,也可以看下小众软件的这篇详细介绍. 安装Sublime Text 2插件的方法: 1.直接安装 安装Sublime text 2插件很方便,可以直

40+ Sublime Text 最佳插件汇总

大家好!我想要收集最好的Sublime Text插件,因为这可以改善我们的工作流程.我搜索了许多网站,下面就是我的发现. WebInspector 调试JavaScript特别棒的工具,成熟的Sublime代码检测工具.产品特点:使用绝对路径,控制台,调试步骤和断点,堆栈跟踪,为存储在用户设置中的项目断点.瞬间起效!还有来自于Mozilla的Fireplay,它被允许连接到Firefox Developer工具和最简单的调试器JSHint. Emmet Sublime Text编辑器最受欢迎的插

安装Sublime Text 3插件的方法:

朋友们,小站活着不容易,全靠广告费养着了,如果本文对你有帮助.麻烦动下手点下页面的广告吧,谢谢! 直接安装 安装Sublime text 2插件很方便,可以直接下载安装包解压缩到Packages目录(菜单->preferences->packages). 使用Package Control组件安装 也可以安装package control组件,然后直接在线安装: 按Ctrl+`调出console(注:安装有QQ输入法的这个快捷键会有冲突的,输入法属性设置-输入法管理-取消热键切换至QQ拼音)

Sublime Text 2插件[这个不错哦]

Sublime Text 2是一个轻量.简洁.高效.跨平台的编辑器,方便的配色以及兼容vim快捷键等各种优点博得了很多前端开发人员的喜爱,当然也包括我,在看到小飞的介绍后,我就一直在用了.本文推荐一些好用的插件和扩展. Sublime Text 2基本上是共享软件,免费版和收费版基本无区别,只是偶尔会弹框让你去购买,这个基本不影响使用.如果你不了解它,也可以看下小众软件的这篇详细介绍. 安装Sublime Text 2插件的方法: 1.直接安装 安装Sublime text 2插件很方便,可以直