GVIM 求几个插件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dxcqcv
V2EX    Vim

GVIM 求几个插件

  •  
  •   dxcqcv 2015-08-19 06:01:27 +08:00 4432 次点击
    这是一个创建于 3712 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需要实现 JS HTML CSS php python 语法检验,注释快捷键,折叠函数和 DIV 等标签快捷键 ,感觉自动折叠 DIV 最难

    例子
    比如 HTML 中这种错误
    <div id="one class="miss"></div>
    CSS 中这种错
    .
    .other {}

    47 条回复    2015-08-30 08:31:49 +08:00
    rundis
        1
    rundis  
       2015-08-19 07:07:45 +08:00
    你需要 SBT3
    jsfaint
        3
    jsfaint  
       2015-08-19 08:45:17 +08:00
    装 syntastic ,然后 npm install -g jsxhint
    FrankFang128
        4
    FrankFang128  
       2015-08-19 08:52:33 +08:00
    WebStorm + IdeaVIM ,你最终的选择。
    FrankFang128
        5
    FrankFang128  
       2015-08-19 08:56:31 +08:00


    FrankFang128
        6
    FrankFang128  
       2015-08-19 08:57:55 +08:00
    折叠 div 在 WebStorm 是基础功能了
    xiaohanqing
        7
    xiaohanqing  
       2015-08-19 09:16:20 +08:00
    语法检查,折叠这些功能默认是有的,快速注释可以用 tcomment 。
    :help fm
    :help syntax
    luoqeng
        8
    luoqeng  
       2015-08-19 10:03:07 +08:00
    spf13
    chenfjm
        9
    chenfjm  
       2015-08-19 10:51:00 +08:00
    dxcqcv
        10
    dxcqcv  
    OP
       2015-08-19 19:23:12 +08:00
    @rundis 全称是什么
    @luoqeng 全称是什么
    dxcqcv
        11
    dxcqcv  
    OP
       2015-08-19 21:13:41 +08:00
    @FrankFang128 第一个 CSS 错误没出现错误提示呀
    FrankFang128
        12
    FrankFang128  
       2015-08-19 21:54:59 +08:00 via Android
    @dxcqcv 黄块,样式完全自定制
    rundis
        13
    rundis  
       2015-08-20 11:14:18 +08:00 via iPhone
    @dxcqcv sublime text3
    livelazily
        14
    livelazily  
       2015-08-20 12:02:34 +08:00
    折叠的话:
    zfi{
    zfi[
    zfit
    这几个基本够用了
    dxcqcv
        15
    dxcqcv  
    OP
       2015-08-20 20:26:39 +08:00
    @livelazily 用 zfit 折叠 div 会出现折叠不全的问题,你遇到过吗,比如最后多一个</div>出来
    livelazily
        16
    livelazily  
       2015-08-20 23:27:09 +08:00 via Android
    @dxcqcv 我自己写 HTML 一般都是前端 js 模板文件,都很模块化,用到折叠的情况不多,还没试过你说的情况。 zfit 匹配错误可以试试用 vitzf ,依旧错误的话试试装个 matchit https://github.com/vim-scripts/matchit.zip 看看有没有改善
    livelazily
        17
    livelazily  
       2015-08-20 23:32:22 +08:00 via Android
    dxcqcv
        18
    dxcqcv  
    OP
       2015-08-21 14:30:51 +08:00
    @livelazily

    nerdcommenter 这个能增加文件识别类型吗,比如和 dotnet 开发的时候会有 cshtml 文件

    matchit 装好后有改善,但似乎很依赖对齐,不过还行,非常感谢

    JS 生成 HTML 不都拼字符串吗?比如 str = '<div>...',你用什么 js 模板文件,好奇问问。
    livelazily
        19
    livelazily  
       2015-08-21 15:13:41 +08:00   1
    @dxcqcv 增加文件类型请查看 :h NERDCustomDelimiters

    前端模板很多啊, angularjs 里面就有, backbonejs 依赖的 underscorejs 里也有简单实现 http://underscorejs.org/#template

    更多示例:
    http://garann.github.io/template-chooser/

    开发时都是写小的 html, 再通过 build 工具生成为 js 文件,加载到页面, 然后再用模板引擎渲染
    dxcqcv
        20
    dxcqcv  
    OP
       2015-08-21 16:29:46 +08:00
    @jsfaint 有 CSS 的语法检查器吗?我装了 syntastic
    jsfaint
        21
    jsfaint  
       2015-08-21 20:24:06 +08:00
    @dxcqcv syntastic 目前支持的 css checker 有 csslint , phpcs , prettycss , recess
    需要单独配一下,如果用 youcompleteme ,它会帮你配好,如果不用就需要自己在 vimrc 里面写
    dxcqcv
        22
    dxcqcv  
    OP
       2015-08-25 10:50:58 +08:00
    @jsfaint 配置搞定,问下你的 HTML 校验用 validator 吗?我用后打开 html 好卡,换用 jshint 和 w3 都检验不出错误
    @livelazily 你有遇到过在同一个文件里需要不同类型注释的情况吗?比如在 html 里注释 css 和 js
    livelazily
        23
    livelazily  
       2015-08-25 12:32:08 +08:00
    @dxcqcv 混合类型的情况插件还不支持, github 上一堆提 issue 的...
    jsfaint
        24
    jsfaint  
       2015-08-25 13:02:55 +08:00
    @dxcqcv 我用 mac ,自带有个叫 tidy 的命令
    你在 vim 里面打:SyntasticInfo ,可以看到有效的 checker ,以及当前使用的 checker
    dxcqcv
        25
    dxcqcv  
    OP
       2015-08-25 14:05:23 +08:00
    @jsfaint 恩, w3, validator , jshint 都能用,但 w3 和 jshint 检查 html 不报错, validator 报错但打开文件太慢太卡,最后那个 tidy-html5 死活装不上,要用 cmake 命令,而不是简单的 pathogen 就 OK 了, mac 自带 tidy 呀真是幸福,我在研究下 tidy-html5
    dxcqcv
        26
    dxcqcv  
    OP
       2015-08-25 14:05:48 +08:00
    @livelazily 非常感谢
    jsfaint
        27
    jsfaint  
       2015-08-25 15:02:02 +08:00
    @dxcqcv tidy-html5 的 github 上给了个链接 http://www.htacg.org/binaries/
    编译好的 tidy~~
    dxcqcv
        28
    dxcqcv  
    OP
       2015-08-25 15:47:34 +08:00
    @jsfaint 我试了很多方法装 tidy 和 tidy-html5 , npm 装, pathogen 装,用你链接里的 msi 装,但装好后, SyntasticInfo 里没有 tidy ,也不知道为什么
    livelazily
        29
    livelazily  
       2015-08-25 18:22:59 +08:00
    @dxcqcv 是不是没添加到 PATH 啊
    dxcqcv
        30
    dxcqcv  
    OP
       2015-08-26 09:33:19 +08:00
    @livelazily 不会啊,我都是 npm install -g 安装的,全局都会有,就 tidy-html5 装不出来, jshint 什么都没问题
    jsfaint
        31
    jsfaint  
       2015-08-26 12:32:58 +08:00
    @dxcqcv 我直接去下了一个 tidy-html5 的 zip ,解压扔到 PATH 下
    然后用 Vim 打开一个 html 文件,执行 :SyntasticInfo 就可以看到 Currently enabled checker: tidy
    PS: V2EX 我至今不会贴图……
    dxcqcv
        32
    dxcqcv  
    OP
       2015-08-26 14:07:40 +08:00
    @jsfaint 我在 gvim 中输入:echo $PATH ,后显示 http://7xlcrz.com1.z0.glb.clouddn.com/vimPath.png
    其中是有 vim74 的
    然后我在 vim74 中仍解压后的 tidy-html5 ,如图 http://7xlcrz.com1.z0.glb.clouddn.com/vimPath02.png
    最后:SyntasticInfo ,就是不出现 tidy ,图 http://7xlcrz.com1.z0.glb.clouddn.com/vimPath03.png
    dxcqcv
        33
    dxcqcv  
    OP
       2015-08-26 14:09:46 +08:00
    我试试 markdown 语法
    @jsfaint 我在 gvim 中输入:echo $PATH ,后显示![img1]( http://7xlcrz.com1.z0.glb.clouddn.com/vimPath.png )
    其中是有 vim74 的
    然后我在 vim74 中仍解压后的 tidy-html5 ,如图![img2]( http://7xlcrz.com1.z0.glb.clouddn.com/vimPath02.png )

    最后:SyntasticInfo ,就是不出现 tidy ,图![img3]( http://7xlcrz.com1.z0.glb.clouddn.com/vimPath03.png )
    dxcqcv
        34
    dxcqcv  
    OP
       2015-08-26 14:27:33 +08:00
    还有一点,虽然能看到 w3 和 validator 但启用这 2 个一点错误也不会报, NND , windows 下真是坑
    dxcqcv
        35
    dxcqcv  
    OP
       2015-08-26 15:13:27 +08:00
    而且我装了 curl
    jsfaint
        36
    jsfaint  
       2015-08-27 09:04:36 +08:00
    @dxcqcv 可能不同的 checker 优先级不同,要么直接写到 vimrc 里面指定用哪个 checker ,要么把 w3 拿掉试试
    let g:syntastic_html_checkers=["tidy"]
    dxcqcv
        37
    dxcqcv  
    OP
       2015-08-27 09:31:06 +08:00
    @jsfaint 但不应该在 available checkers 里没有 tidy ,这是最奇怪的地方
    dxcqcv
        38
    dxcqcv  
    OP
       2015-08-27 09:38:28 +08:00
    @jsfaint 强制 tidy 后,再 syntasticInfo 显示 Currently enabled checkers 是-
    jsfaint
        39
    jsfaint  
       2015-08-27 10:14:44 +08:00
    @dxcqcv
    我这边看到是这样的
    dxcqcv
        40
    dxcqcv  
    OP
       2015-08-27 13:06:27 +08:00
    @jsfaint 除了重装系统,我什么都做了,怎莫办, tidy 就是不出来,也没有错误提示,我都不知道漏了什么

    顺便,你的 COMMAND 那根黄色的提示条是什么插件,挺漂亮的
    jsfaint
        41
    jsfaint  
       2015-08-27 14:40:16 +08:00
    @dxcqcv 你开一个 cmd ,直接运行 tidy ,能成功么?
    那个是[vim-airline]( https://github.com/bling/vim-airline )
    dxcqcv
        42
    dxcqcv  
    OP
       2015-08-27 15:04:53 +08:00
    @jsfaint 不行,不是内部命令也不是外部命令,但 curl --version 有版本
    jsfaint
        43
    jsfaint  
       2015-08-27 15:44:54 +08:00
    @dxcqcv 开 cmd 不能直接运行说明你的 tidy 就有问题啊,要么不在 PATH 里面,要么本身的可执行文件就有问题。 windows 的话你直接到目录下运行 tidy , linux 就检查下有没有 x 属性
    dxcqcv
        44
    dxcqcv  
    OP
       2015-08-27 16:10:58 +08:00
    @jsfaint 直接在目录里也无法运行 tidy ,打开后什么都没有,我是官网 msi 安装的,如图

    http://7xlcrz.com1.z0.glb.clouddn.com/tidy01.jpg
    jsfaint
        45
    jsfaint  
       2015-08-28 11:34:42 +08:00   1
    @dxcqcv 结合上面的某个截图,你的 tidy 根本不在 PATH 里面啊……
    你如果想放 Vim 目录下,就直接把 tidy.exe 和 gvim.exe 扔到同一个目录,不要多加一层 bin 目录……
    dxcqcv
        46
    dxcqcv  
    OP
       2015-08-28 13:58:54 +08:00
    @jsfaint 搞定了,多了层 bin 就不行,非常感谢
    jsfaint
        47
    jsfaint  
       2015-08-30 08:31:49 +08:00
    @dxcqcv 恭喜~~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1002 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 23:01 PVG 07:01 LAX 16:01 JFK 19:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86