zoukankan      html  css  js  c++  java
  • sublime text3的配置(整理)

    一、代码片段

    开发人员很多时候是在做一些重复的工作。

    针对不同数据表的增删改查都差不多,重复来重去的。很久不写程序了,利用十一假期在家看看书,写写程序。

    最近一直很喜欢使用Sublime Text,发现它的代码片断管理功能不错,只要输入事先定义好的短语,大段的代码片段就可以自动填充进来。还可以定义变量。

    如PHP代码。可以使用 ${0}的方式定义每一个参数,其它依次类推。如果想在代码片段中保留$符,只要在$前面加上就可以了。如: $data

    设置步骤如下:

    1,选择Tools -》 New Snippet

    这样将会创建一个空的代码片段模板。如下:

    <![CDATA[<snippet><content>
    <![CDATA[
    Hello, ${1:this} is a ${2:snippet}.
    ]]>
    </content><!-- Optional: Set a tabTrigger to define how to trigger the snippet --><!-- <tabTrigger>hello</tabTrigger> --><!-- Optional: Set a scope to limit where the snippet will trigger --><!-- <scope>source.python</scope> --></snippet>

    [ ] 中间放入你的代码,想替换哪儿个关键词就用${} 来改写,中间的数字为光标的顺序,按TAB键进行切换。

    tabTrigger:为在编辑器中输入的关键词,然后按TAB键
    scope:为在哪儿类源程序中起作用,当然可以不设置
    description:为提示说明信息

    写好后,保存。记住一定要保存为 .sublime-snippet 扩展名。如果打开一个已存在的,可以通过Preferences -》Browse Packages 在user目中就可以找到了。请注意,我使用的是MAC的本本,不知道windows系统下在什么位置,没在windows下用过这个软件。

    下面是我写的一个小模板:

    <snippet> <content>
    <![CDATA[
    /**
    * 删除
    * @param string $${1} 数据记录的标识ID
    * @param string $${2:tabelname} 数据表名称
    * @return void
    **/
    public function del(){
    $${1} = trim($_GET['${1}']);
    if(empty($${1})){
    $this->error('该记录不存在!');
    }
    $result = M('${2:tabelname}')->where(array('${1}'=>$${1}))->delete();
    $this->message($result,'__URL__/index','删除成功!','删除失败!');
    }
     
     
    ]]>
    </content> <!-- Optional: Set a tabTrigger to define how to trigger the snippet --> <tabTrigger>tpdel</tabTrigger> <!-- Optional: Set a scope to limit where the snippet will trigger --> <!-- <scope>source.python</scope> --> <description>ThinkPHP - del() 删除一条数据方法</description></snippet>

    用Sublime Text 3 很顺手,可是在写PHP程序时候调试并不方便,写PHP程序还是用PhpStorm好用,我用的是PhpStorm6 。经过了上面的情况,就想在PhpStorm下是不是也能这样做呢。经过研究发现这个开发工具也可以,真是很爽啊。 提示:在编辑器中 command + J 就可以有提示了。在windows下应该ctrl + J 。

    使用方式是:

    在Preferences里有一个 Live Templates 设置项,那儿里面有不少例子,可以试试啊。模板的编辑方式与上面Sublime Text差不多。只是这儿里不需要用来转义。

    如果想在模板中保留$符,只要输入$$就可以了。还支持设置参数的默认值及输出后自动格式化。

    善用开发工具,开发效率会大大的提高。


     
    二、在线安装插件

    ctrl+` or  View > Show Console

    sublime text 3

    复制代码
    import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ''%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
    复制代码

    sublime text 2

    1
    import urllib2,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else'Please restart Sublime Text to finish installation')

      


     
     
     
     三、设置自己的样式
    Sublime Text 3 配置解释(默认)
    {
    // 设置主题文件
    “color_scheme”: “Packages/Color Scheme – Default/Monokai.tmTheme”,
    // 设置字体和大小
    “font_face”: “Consolas”,
    “font_size”: 12,
    // 字体选项:no_bold不显示粗体字,no_italic不显示斜体字,no_antialias和no_antialias关闭反锯齿
    // subpixel_antialias和no_round是OS X系统独有的
    “font_options”: [],
    // 在文字上双击会全选当前的内容,如果里面出现以下字符,就会被截断
    “word_separators”: “./\()”‘-:,.;<>~!@#$%^&*|+=[]{}`~?”,
    // 是否显示行号
    “line_numbers”: true,
    // 是否显示行号边栏
    “gutter”: true,
    // 行号边栏和文字的间距
    “margin”: 4,
    // 是否显示代码折叠按钮
    “fold_buttons”: true,
    // 不管鼠标在不在行号边栏,代码折叠按钮一直显示
    “fade_fold_buttons”: true,
    //列显示垂直标尺,在中括号里填入数字,宽度按字符计算
    “rulers”: [],
    // 是否打开拼写检查
    “spell_check”: false,
    // Tab键制表符宽度
    “tab_size”: 4,
    // 设为true时,缩进和遇到Tab键时使用空格替代
    “translate_tabs_to_spaces”: false,
    // 否则作用于单个空格
    “use_tab_stops”: true,
    “detect_indentation”: true,
    // 按回车时,自动与制表位对齐
    “auto_indent”: true,
    //针对C语言的
    “smart_indent”: false,
    // 需要启用auto_indent,第一次打开括号缩进时插入空格?(没测试出来效果…)
    “indent_to_bracket”: true,
    // 显示对齐的白线是否根据回车、tab等操作自动填补
    “trim_automatic_white_space”: true,
    // 是否自动换行,如果选auto,需要加双引号
    “word_wrap”: false,
    // 设置窗口内文字区域的宽度
    “wrap_width”: 0,
    // 防止被缩进到同一级的字换行
    “indent_subsequent_lines”: true,
    // 如果没有定义过,则文件居中显示(比如新建的文件)
    “draw_centered”: false,
    // 自动匹配引号,括号等
    “auto_match_enabled”: true,
    // 拼写检查的单词列表路径
    “dictionary”: “Packages/Language – English/en_US.dic”,
    // 代码地图的可视区域部分是否加上边框,边框的颜色可在配色方案上加入minimapBorder键
    “draw_minimap_border”: false,
    // 突出显示当前光标所在的行
    “highlight_line”: false,
    // 设置光标闪动方式
    “caret_style”: “smooth”,
    // 是否特殊显示当前光标所在的括号、代码头尾闭合标记
    “match_brackets”: true,
    // 设为false时,只有光标在括号或头尾闭合标记的两端时,match_brackets才生效
    “match_brackets_content”: true,
    // 是否突出显示圆括号,match_brackets为true生效
    “match_brackets_square”: false,
    // 是否突出显示大括号,match_brackets为true生效
    “match_brackets_braces”: false,
    // 是否突出显示尖括号,match_brackets为true生效
    “match_brackets_angle”: false,
    // html和xml下突出显示光标所在标签的两端,影响HTML、XML、CSS等
    “match_tags”: true,
    // 全文突出显示和当前选中字符相同的字符
    “match_selection”: true,
    // 设置每一行到顶部,以像素为单位的间距,效果相当于行距
    “line_padding_top”: 1,
    // 设置每一行到底部,以像素为单位的间距,效果相当于行距
    “line_padding_bottom”: 1,
    // 设置为false时,滚动到文本的最下方时,没有缓冲区
    “scroll_past_end”: true,
    // 控制向上或向下到第一行或最后一行时发生什么
    “move_to_limit_on_up_down”: false,
    // 按space或tab时,实际会产生白色的点(一个空格一个点)或白色的横线(tab_size设置的制表符的宽度),选中状态下才能看到
    // 设置为none时,什么情况下都不显示这些点和线
    // 设置为selection时,只显示选中状态下的点和线
    // 设置为all时,则一直显示
    “draw_white_space”: “selection”,
    // 制表位的对齐白线是否显示,颜色可在主题文件里设置(guide,activeGuide,stackGuide)
    “draw_indent_guides”: true,
    // 制表位的对齐白线,draw_normal为一直显示,draw_active为只显示当前光标所在的代码控制域
    “indent_guide_options”: ["draw_normal"],
    // 为true时,保存文件时会删除每行结束后多余的空格
    “trim_trailing_white_space_on_save”: false,
    // 为true时,保存文件时光标会在文件的最后向下换一行
    “ensure_newline_at_eof_on_save”: false,
    // 切换到其它文件标签或点击其它非本软件区域,文件自动保存
    “save_on_focus_lost”: false,
    // 编码时不能自动检测编码时,将自动检测ASCII, UTF-8 和 UTF-16
    “fallback_encoding”: “Western (Windows 1252)”,
    // 默认编码格式
    “default_encoding”: “UTF-8″,
    // 包含空字节的文件被打开默认为十六进制
    “enable_hexadecimal_encoding”: true,
    // 每一行结束的时候用什么字符做终止符
    “default_line_ending”: “system”,
    // 设置为enabled时,在一个字符串间按Tab将插入一个制表符
    // 设置为true时,按Tab会根据前后环境进行代码自动匹配填补
    “tab_completion”: true,
    // 代码提示
    “auto_complete”: true,
    // 代码提示的大小限制
    “auto_complete_size_limit”: 4194304,
    // 代码提示延迟显示
    “auto_complete_delay”: 50,
    // 代码提示的控制范围
    “auto_complete_selector”: “source – comment”,
    // 触发代码提示的其他情况
    “auto_complete_triggers”: [ {"selector": "text.html", "characters": "<"} ],
    // 设为false时,选择提示的代码按回车或点击可以输出出来,但选择true时不会输出而是直接换行
    “auto_complete_commit_on_tab”: false,
    // 设置为false,使用Shift + tab总是插入制表符
    “shift_tab_unindent”: true,
    // 选中的文本按Ctrl + f时,自动复制到查找面板的文本框里
    “find_selected_text”: true,
    // DataPackagesTheme – DefaultDefault.sublime-theme控制软件的主题
    “theme”: “Default.sublime-theme”,
    // 滚动的速度
    “scroll_speed”: 1.0,
    // 左边边栏文件夹动画
    “tree_animation_enabled”: true,
    // 标签页的关闭按钮
    “show_tab_close_buttons”: true,
    // 针对OS X
    “use_simple_full_screen”: false,
    // 水平垂直滚动条:system和disabled为默认显示方式,enabled为自动隐藏显示
    “overlay_scroll_bars”: “system”,
    // 热推出功能!退出时不会提示是否保存文件,而是直接退出
    // 下次打开软件时,文件保持退出前的状态,没来得及保存的内容都在,但并没有真实的写在原文件里
    “hot_exit”: true,
    // 软件使用最后的设定打开文件,hot_exit为true时没有效果
    “remember_open_files”: true,
    // 针对OS X
    “open_files_in_new_window”: true,
    // 针对OS X
    “close_windows_when_empty”: true,
    // 哪些文件会被显示到边栏上
    “folder_exclude_patterns”: [".svn", ".git", ".hg", "CVS"],
    “file_exclude_patterns”: ["*.pyc", "*.pyo", "*.exe", "*.dll", "*.obj","*.o", "*.a", "*.lib", "*.so", "*.dylib", "*.ncb", "*.sdf", "*.suo", "*.pdb", "*.idb", ".DS_Store", "*.class", "*.psd", "*.db"],
    // Goto Anything or Find in Files
    “binary_file_patterns”: ["*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip"],
    // 删除你想要忽略的插件,需要重启, 去掉Vinage开启vim模式
    “ignored_packages”: ["Vintage"]

    }

     

    我的配置:

    {

        “default_encoding”: “UTF-8″,

        "auto_complete_commit_on_tab": false,
        "auto_complete_delay": 0,
        "auto_complete_with_fields": true,
        "auto_indent": true,
        "auto_match_enabled": true,
        "bold_folder_labels": true,
        "caret_style": "wide",
        "color_scheme": "Packages/Color Scheme - Default/Monokai Bright.tmTheme",
        "fade_fold_buttons": false,
        "fold_buttons": true,
        "font_face": "Consolas",
        "font_options":[],
        "font_size": 13,
        "highlight_line": true,
        "hot_exit": false,
        "ignored_packages":[],
        "match_brackets_angle": true,
        "match_brackets_content": true,
        "match_tags": true,
        "remember_open_files": false,
        "smart_indent": true,
        "tab_size": 4,
        "word_wrap": "false"
    }

     

    快捷键:

    [
        { "keys": ["ctrl+["], "command": "exit_insert_mode"},
        { "keys": ["ctrl+h"], "command": "left_delete"},    
        { "keys": ["alt+h"], "command": "move", "args": {"by": "characters", "forward": false} },
        { "keys": ["alt+l"], "command": "move", "args": {"by": "characters", "forward": true} },
        { "keys": ["alt+k"], "command": "move", "args": {"by": "lines", "forward": false} },
        { "keys": ["alt+j"], "command": "move", "args": {"by": "lines", "forward": true} },
        { "keys": ["ctrl+j"], "command": "insert", "args": {"characters": " "} },
        { "keys": ["ctrl+i"], "command": "auto_complete" },
        { "keys": ["ctrl+i"], "command": "replace_completion_with_auto_complete", "context":
            [
                { "key": "last_command", "operator": "equal", "operand": "insert_best_completion" },
                { "key": "auto_complete_visible", "operator": "equal", "operand": false },
                { "key": "setting.tab_completion", "operator": "equal", "operand": true }
            ]
        }

        { "keys": ["ctrl+d"], "command": "right_delete" },
        { "keys": ["alt+s"], "command": "save" },

    ]

    Ctrl+D 选词 (反复按快捷键,即可继续向下同时选中下一个相同的文本进行同时编辑)
    Ctrl+G 跳转到相应的行
    Ctrl+J 合并行(已选择需要合并的多行时)
    Ctrl+L 选择整行(按住-继续选择下行)
    Ctrl+M 光标移动至括号内开始或结束的位置
    Ctrl+T 词互换
    Ctrl+U 软撤销
    Ctrl+P 查找当前项目中的文件和快速搜索;输入 @ 查找文件主标题/函数;或者输入 : 跳转到文件某行;
    Ctrl+R 快速列出/跳转到某个函数
    Ctrl+K Backspace 从光标处删除至行首
    Ctrl+K+B 开启/关闭侧边栏
    Ctrl+KK 从光标处删除至行尾
    Ctrl+K+T 折叠属性
    Ctrl+K+U 改为大写
    Ctrl+K+L 改为小写
    Ctrl+K+0 展开所有
    Ctrl+Enter 插入行后(快速换行)
    Ctrl+Tab 当前窗口中的标签页切换


    Ctrl+Shift+A 选择光标位置父标签对儿
    Ctrl+Shift+D 复制光标所在整行,插入在该行之前
    ctrl+shift+F 在文件夹内查找,与普通编辑器不同的地方是sublime允许添加多个文件夹进行查找
    Ctrl+Shift+K 删除整行
    Ctrl+Shift+L 鼠标选中多行(按下快捷键),即可同时编辑这些行
    Ctrl+Shift+M 选择括号内的内容(按住-继续选择父括号)
    Ctrl+Shift+P 打开命令面板
    Ctrl+Shift+/ 注释已选择内容
    Ctrl+Shift+↑可以移动此行代码,与上行互换
    Ctrl+Shift+↓可以移动此行代码,与下行互换
    Ctrl+Shift+[ 折叠代码
    Ctrl+Shift+] 展开代码
    Ctrl+Shift+Enter 光标前插入行


    Ctrl+PageDown 、Ctrl+PageUp 文件按开启的前后顺序切换


    Ctrl+Z 撤销
    Ctrl+Y 恢复撤销
    Ctrl+F2 设置/取消书签
    Ctrl+/ 注释整行(如已选择内容,同“Ctrl+Shift+/”效果)
    Ctrl+鼠标左键 可以同时选择要编辑的多处文本


    Shift+鼠标右键(或使用鼠标中键)可以用鼠标进行竖向多行选择
    Shift+F2 上一个书签
    Shift+Tab 去除缩进
    Alt+Shift+1(非小键盘)窗口分屏,恢复默认1屏
    Alt+Shift+2 左右分屏-2列
    Alt+Shift+3 左右分屏-3列
    Alt+Shift+4 左右分屏-4列
    Alt+Shift+5 等分4屏
    Alt+Shift+8 垂直分屏-2屏
    Alt+Shift+9 垂直分屏-3屏


    Ctrl+Shift+分屏序号 将当前焦点页分配到分屏序号页


    Alt+. 闭合当前标签
    Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑


    Tab 缩进 自动完成
    F2 下一个书签
    F6 检测语法错误
    F9 行排序(按a-z)
    F11 全屏模式
  • 相关阅读:
    [leetcode] Valid Sudoku
    [leetcode] Count and Say
    [leetcode] Decode Ways
    [leetcode] Sqrt(x)
    [leetcode] Best Time to Buy and Sell Stock II
    7-27 兔子繁衍问题
    7-26 最大公约数和最小公倍数
    7-25 求奇数和
    7-24 猜数字游戏
    7-23 分段计算居民水费
  • 原文地址:https://www.cnblogs.com/webclz/p/3544658.html
Copyright © 2011-2022 走看看