专注于WEB前端开发, 追求更好的用户体验, 更好的开发体验 [长沙前端QQ群:234746733]

工具

  • editplus 更新了 and 推荐款编辑器

    / 分类: 工具 / 3 Comments

    喜欢edtiplus的速度、小巧。
    download:http://www.editplus.com/download.html
    patch file:http://www.editplus.com/trouble.html
    最新的3.30 build 555
    vim装了一些插件+打开较多的文件感觉还是有点延迟的感觉。前两天玩了下textmate,感觉挺不错的。就是中文支持不太好,要安装textmate中文字体,看起来中文都是窄窄的。虽然有些瑕疵,但蛮喜欢的,不需要像VIM那样太折腾,可惜要在mac下用。

    用了editplus新版,说下新增的功能。
    1.file菜单多了TSVN,自带了几个简单的svn命令,比如:提交、更新、对比等。我之前发布的那个给ed添加svn的文章:http://www.fantxi.com/blog/archives/658/ 现在基本可以无视了。
    2.ctrl+w -选择word,相当于vim的viw。之前貌似没有,好像默认是close的功能。选中行-ctrl+r。
    3.ctrl+[ -匹配html的tag
    ctrl+shift+[ - 选择tag,相当vim的vit
    ctrl+] - 匹配脚本的()[]{}等括号
    ctrl+shift+] -选择括号 内的内容。

    暂时发现这么多。和vim的自定义比起来当然没法比,但是用户体验的确增加了。

    ---------

    下面说下昨晚找到了2个不错的编辑器,这两款都被评为以后Windows下面textmate的替代品。

    1、Intype,http://intype.info。最新alpha 0.3,中文需要改成宋体无论从长相or实用性上,目前都还一般。打开2M的文件测试,拖动滚动条的时候,就有卡住的感觉了,当显示拖到的内容时,高亮已经没了,就像语法高亮还没渲染到那里。

    2、Sublime Text,http://www.sublimetext.com,更像textmate的感觉,用python写的。最新版下载:
    http://www.sublimetext.com/2,有portable版本提供。不注册可以照常使用。比Intype成熟多了。就是感觉打开第一个文件的时候有延迟,之后就好些了。默认的语法高亮配色是黑色调的,这点不错哦。功能大体上还可以了,有些功能有点其他编辑器的影子(作者可能比较上心,借鉴别人的优点)。支持win、mac、linux,又一亮点,难道想和vim等神奇竞争?字体在配置文件里面可以更改,默认打开中文不乱码,用的系统默认的等宽字体-宋体,我改成圆体,不行,应该是必须要等宽字体才可以。

    当然,我推荐Sublime,Intype目前还很弱。Sublime支持的语法高亮非常多,python、ruby、as都支持,Intype就差多了。两个都有snippet功能,比如输入if,然后tab,就自动出来if语句了,当然vim装插件也可以。Sublime已经自带了一些插件了,支持插件,我感觉以后会有前途。
    不过,目前Code folding这两个还不支持。

    附上我使用几个小时后,发觉比较有用的快捷键:
    ctrl+shift+m - 选中括号内的内容
    ctrl+m - 跳转到匹配括号
    Ctrl+P - 跳转(默认搜索文件名,@-搜id、函数名等(可直接ctrl+r);#-当前文件搜索文字;:-跳转到行(可直接ctrl+g)),功能挺NX的。
    批量修改 - ctrf+F 查找word,Find All(或者按alt+enter),输入文字就把当前文件所有查找的文字修改了
    ctrl+shift+d - 克隆行
    ctrt+space - 自动完成(由于和切换输入法冲突,被我改成alt+space了,方法:Preferences-Default Key,搜auto_complete)
    diy配置:Preferences - User File Preferences。可以写在这里,比如设置Sublime Text的字体:
    "font_face": "DejaVu Sans YuanTi Mono",
    "font_size": 10

  • cmd 设置java jdk环境变量

    / 分类: 工具 / No Comments

    FlashDevelop等很多软件需要用到java,以前重装系统后都是手动设置环境变量。用这个批处理就方便多了。

    @echo off
    color b0
    set JDK_PATH=D:\WebDevelopment\JDK
    if "%JAVA_HOME%" == "" (
        setx JAVA_HOME "%JDK_PATH%"
        setx /M Path "%Path%;%JDK_PATH%\bin"
        echo.
        echo JDK 环境变量设置完毕..
        echo.
    ) else (
        echo.
        echo JDK 环境变量已设置过.
        echo.
    )
    pause
  • Flash Builder和flashdevelop 常用快捷键

    / 分类: 工具 / 1 Comment

    =========flashdevelop
    Ctrl+B - snippets
    ctrl+shift+1 自动完成代码
    F12 - 下个错误
    Shift+f12 -上个错误
    Ctrl+[ - 转到下一个声明
    Ctrl+] - 转到上一个声明
    Ctrl+G - 转到行
    Ctrl+U - 大写
    Ctrl+L - 小写
    Ctrl+/ - 转到词首
    Ctrl+\ - 转到词尾
    Ctrl+D - 克隆光标行、选中的内容
    Ctrl+T - 与上一行交换位置
    Ctrl+Shift+D - 删除光标所在行
    Ctrl+Q - 行注释/取消注释
    Ctrl+Shift+Q - 块注释/取消注释
    Ctrl+F = 搜索
    Ctrl+H = 替换
    Ctrl+I = 文件夹搜索、替换
    F3 = 转到上一个搜索的字符串
    Shift+F3 = 转到下一个搜索的字符串
    Alt+Shift+Enter - 全屏
    F5 测试项目
    F8 构架项目
    F4 跳转到指定方法或类或变量被定义的地方(相当于FB的F3)
    Shift+f4 跳回到之前所有的地方
    ctrl+\ 转到下个大写或标点或空格后
    Ctrl+/ 转到上个subword
    ctrl+alt+space 代码提示
    Ctrl+Shift+Space 提示方法中的参数类型
    AutoFormat(插件-格式化) Alt+Shift+F
    FDjpPlugin 移动光标所在行 or 选中的行 Alt+↑(↓)

    =========Flash Builder
    Ctrl-Shift-O - Organize imports,去除无用的导入类
    Ctrl+F11 - 运行(在浏览器浏览)
    F11 - 调试
    Alt+/ - 内容辅助
    Ctrl+Alt+/ - 文字补全
    Ctrl+L - 转到行
    Ctrl+Q - 转到上一个编辑位置
    F3 - 打开类型声明
    Ctrl+M - 切换 编辑器/活动视图 窗口最大化状态
    Ctrl+Shift+Y - 转换选定文本为小写字母
    Ctrl+Shift+X - 转换选定文本为大写字母
    Ctrl+Alt+R - 重命名 变量/函数
    Ctrl+F - 查找/替换
    Ctrl+K - 查找下一个
    Ctrl+Shift+K - 查找上一个
    Alt+↑(↓) - 移动光标所在行 or 选中的行
    Ctrl+Alt+↑(↓) - 克隆光标所在行 or 选中的行
    Ctrl+D - 删除选中行or光标所在行
    Ctrl+Shift+D - 添加ASDoc注释
    Ctrl+Shift+C - 添加/移除选中文字的块注释
    Ctrl+/ - 行注释
    Ctrl+Shift+P - 匹配光标所在括号,并跳转到匹配的括号

  • VIM使用mswin.vim,vit不能全选tag内容的解决

    / 分类: 工具 / 6 Comments

    问题描述,比如下面的代码:<p>abcd1234中文</p>
    按vit既是选择p标签内的内容,但是因为最后的一个字符是中文,“文”字并没有选择到(纯英文或者数字是没问题的)。
    这个是使用mswin.vim导致的问题,源于mswin里的:behave mswin
    Ps: mswin是作者写的一个方便win用户使用习惯的插件

    "behave mswin =下面这四行,help behave可以看到vim的帮助
    set selectmode=mouse,key
    set mousemodel=popup
    set keymodel=startsel,stopsel
    set selection=exclusive

    而问题是selection=exclusive引起的,解决办法:
    1、注释掉vimrc里mswin.vim(这样win用户可能觉得很不方便,需要适应vim的默认快捷键)
    2、" behave mswin - 注释掉mswin里面的这句。在下面添加
    set selectmode=mouse,key
    set mousemodel=popup
    set keymodel=startsel,stopsel
    Ps:上面把selection=exclusive去掉了,即:selection=inclusive(光标所在位置也属于被选中的范围)
    3、在vimrc里添加:nnoremap vic vitl
    说明tag内只有英文或数字,按vit;当最后一个字符是中文,按vic,就可以选择最后的中文字符了。

  • 在VIM里 调用多种浏览器 预览html php 等文件

    / 分类: 工具,实践 / 23 Comments

    最近这段时间睡眠严重不足,脑袋发晕的时候就要放送下,so改善vim。产生个想法:把自己喜欢的editplus的功能都搞到vim上面来。这个就是其中之一:在浏览器中预览当前文件。有时间的话,可能要写点从editplus转型到VIM的东西。

    优点1:
    囊括了主要的浏览器:chrome、firefox、oprea、ie、ietester(随自己喜欢可以增加更多,比如safari),浏览器的简称:cr、ff、op、ie、ie6、ie7、ie8、ie9、iea,简称、路径以键值对方式都保存到browsers中。
    上面的简称大部分人应该都明白了,ie就是系统默认的ie,最后一个iea是在ietester中使用所有版本的ie同时预览(IE5.5-IE9)。

    IETester 的Arguments可以见 : http://www.my-debugbar.com/wiki/IETester/CommandLineArguments

    优点2:
    本地文件自动以file://开头或http://开头的两种方式预览。如果文件在htdocs就用http方式打开,否则用file方式。
    file://开头的地址预览html一般没问题,但是预览php或aspx等就显得苍白无力了。这里可以设置一个htdocs/wwwroot的文件夹地址,然后预览的时候匹配文件是否在这个文件夹内(支持子目录),如果在就用http://方式打开,否则就用file://方式。

    无论前端开发者或者程序员都及其适合。自夸完毕,下面说下使用:
    在_vimrc中加入下面的代码,然后按F4+cr - 在chrome预览,F4+ff  - 在firefox下预览……。方式就是F4+浏览器简称(应该比用F4+1234的数字形式便于记忆)。当然,这个完全可以自己diy的。

    下面fuc里面的浏览器地址需要自己修改,我的文件夹目录和你的可能是有不同的。还有htdocs文件夹、本地的预览的端口号,我使用的是8090.

    " 在浏览器预览 for win32
    function! ViewInBrowser(name)
        let file = expand("%:p")
        exec ":update " . file
        let l:browsers = {
            \"cr":"D:/WebDevelopment/Browser/Chrome/Chrome.exe",
            \"ff":"D:/WebDevelopment/Browser/Firefox/Firefox.exe",
            \"op":"D:/WebDevelopment/Browser/Opera/opera.exe",
            \"ie":"C:/progra~1/intern~1/iexplore.exe",
            \"ie6":"D:/WebDevelopment/Browser/IETester/IETester.exe -ie6",
            \"ie7":"D:/WebDevelopment/Browser/IETester/IETester.exe -ie7",
            \"ie8":"D:/WebDevelopment/Browser/IETester/IETester.exe -ie8",
            \"ie9":"D:/WebDevelopment/Browser/IETester/IETester.exe -ie9",
            \"iea":"D:/WebDevelopment/Browser/IETester/IETester.exe -all"
        \}
        let htdocs='E:\\apmxe\\htdocs\\'
        let strpos = stridx(file, substitute(htdocs, '\\\\', '\', "g"))
        if strpos == -1
           exec ":silent !start ". l:browsers[a:name] ." file://" . file
        else
            let file=substitute(file, htdocs, "http://127.0.0.1:8090/", "g")
            let file=substitute(file, '\\', '/', "g")
            exec ":silent !start ". l:browsers[a:name] file
        endif
    endfunction
    nmap <f4>cr :call ViewInBrowser("cr")<cr>
    nmap <f4>ff :call ViewInBrowser("ff")<cr>
    nmap <f4>op :call ViewInBrowser("op")<cr>
    nmap <f4>ie :call ViewInBrowser("ie")<cr>
    nmap <f4>ie6 :call ViewInBrowser("ie6")<cr>
    

    另外有同学想要linux下面的例子, 我没有环境, Mac下面这样是OK的,可以参考:

    " 在浏览器预览 for Mac
    function! ViewInBrowser(name)
        let file = expand("%:p")
        let l:browsers = {
            \"cr":"open -a \"Google Chrome\"",
            \"ff":"open -a Firefox",
        \}
        let htdocs='/Users/leon1/'
        let strpos = stridx(file, substitute(htdocs, '\\\\', '\', "g"))
        let file = '"'. file . '"'
        exec ":update " .file
        "echo file .' ## '. htdocs
        if strpos == -1
            exec ":silent ! ". l:browsers[a:name] ." file://". file
        else
            let file=substitute(file, htdocs, "http://127.0.0.1:8090/", "g")
            let file=substitute(file, '\\', '/', "g")
            exec ":silent ! ". l:browsers[a:name] file
        endif
    endfunction
    nmap <Leader>cr :call ViewInBrowser("cr")<cr>
    nmap <Leader>ff :call ViewInBrowser("ff")<cr>