做者:shede333
主页:http://my.oschina.net/shede333
版权声明:原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | [Creative Commons BY-NC-ND 3.0][]sublime-text
#Sublime Text 编辑器 插件 之数组
Sublime Alignment 主要用于代码对齐,最新版听说已经集成了这个插件。 下载地址:编辑器
插件安装方式、以及较好的插件推荐,以下:工具
Sublime Text 2 入门及技巧 | Lucifr测试
编码神器 Sublime Text 包管理工具及扩展大全 - 开源中国社区this
Mac上的设置文件位置:
左上角Sublime Text -> Preferences -> Package Settings ->Alignment 若是没有最后的"Alignment"选项,说明你尚未安装此插件。编码
这里面有5个选项:spa
带有后缀Default的,为默认设置,每次升级插件都会重置这里的设置。因此尽可能不要修改这里,不然升级会丢失你原先的设置。.net
带有后缀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,
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;
###"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数组一致。即在全部的对齐字符
前面都增长一个空格。