dxcqcv
V2EX  ›  Vim

GVIM 求几个插件

  •  
  •   dxcqcv · Aug 19, 2015 · 4796 views
    This topic created in 3939 days ago, the information mentioned may be changed or developed.

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

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

    47 replies    2015-08-30 08:31:49 +08:00
    rundis
        1
    rundis  
       Aug 19, 2015
    你需要 SBT3
    jsfaint
        3
    jsfaint  
       Aug 19, 2015
    装 syntastic ,然后 npm install -g jsxhint
    FrankFang128
        4
    FrankFang128  
       Aug 19, 2015
    WebStorm + IdeaVIM ,你最终的选择。
    FrankFang128
        5
    FrankFang128  
       Aug 19, 2015


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

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

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

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

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

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

    开发时都是写小的 html, 再通过 build 工具生成为 js 文件,加载到页面, 然后再用模板引擎渲染
    dxcqcv
        20
    dxcqcv  
    OP
       Aug 21, 2015
    @jsfaint 有 CSS 的语法检查器吗?我装了 syntastic
    jsfaint
        21
    jsfaint  
       Aug 21, 2015
    @dxcqcv syntastic 目前支持的 css checker 有 csslint , phpcs , prettycss , recess
    需要单独配一下,如果用 youcompleteme ,它会帮你配好,如果不用就需要自己在 vimrc 里面写
    dxcqcv
        22
    dxcqcv  
    OP
       Aug 25, 2015
    @jsfaint 配置搞定,问下你的 HTML 校验用 validator 吗?我用后打开 html 好卡,换用 jshint 和 w3 都检验不出错误
    @livelazily 你有遇到过在同一个文件里需要不同类型注释的情况吗?比如在 html 里注释 css 和 js
    livelazily
        23
    livelazily  
       Aug 25, 2015
    @dxcqcv 混合类型的情况插件还不支持, github 上一堆提 issue 的...
    jsfaint
        24
    jsfaint  
       Aug 25, 2015
    @dxcqcv 我用 mac ,自带有个叫 tidy 的命令
    你在 vim 里面打:SyntasticInfo ,可以看到有效的 checker ,以及当前使用的 checker
    dxcqcv
        25
    dxcqcv  
    OP
       Aug 25, 2015
    @jsfaint 恩, w3, validator , jshint 都能用,但 w3 和 jshint 检查 html 不报错, validator 报错但打开文件太慢太卡,最后那个 tidy-html5 死活装不上,要用 cmake 命令,而不是简单的 pathogen 就 OK 了, mac 自带 tidy 呀真是幸福,我在研究下 tidy-html5
    dxcqcv
        26
    dxcqcv  
    OP
       Aug 25, 2015
    @livelazily 非常感谢
    jsfaint
        27
    jsfaint  
       Aug 25, 2015
    @dxcqcv tidy-html5 的 github 上给了个链接 http://www.htacg.org/binaries/
    编译好的 tidy~~
    dxcqcv
        28
    dxcqcv  
    OP
       Aug 25, 2015
    @jsfaint 我试了很多方法装 tidy 和 tidy-html5 , npm 装, pathogen 装,用你链接里的 msi 装,但装好后, SyntasticInfo 里没有 tidy ,也不知道为什么
    livelazily
        29
    livelazily  
       Aug 25, 2015
    @dxcqcv 是不是没添加到 PATH 啊
    dxcqcv
        30
    dxcqcv  
    OP
       Aug 26, 2015
    @livelazily 不会啊,我都是 npm install -g 安装的,全局都会有,就 tidy-html5 装不出来, jshint 什么都没问题
    jsfaint
        31
    jsfaint  
       Aug 26, 2015
    @dxcqcv 我直接去下了一个 tidy-html5 的 zip ,解压扔到 PATH 下
    然后用 Vim 打开一个 html 文件,执行 :SyntasticInfo 就可以看到 Currently enabled checker: tidy
    PS: V2EX 我至今不会贴图……
    dxcqcv
        32
    dxcqcv  
    OP
       Aug 26, 2015
    @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
       Aug 26, 2015
    我试试 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
       Aug 26, 2015
    还有一点,虽然能看到 w3 和 validator 但启用这 2 个一点错误也不会报, NND , windows 下真是坑
    dxcqcv
        35
    dxcqcv  
    OP
       Aug 26, 2015
    而且我装了 curl
    jsfaint
        36
    jsfaint  
       Aug 27, 2015
    @dxcqcv 可能不同的 checker 优先级不同,要么直接写到 vimrc 里面指定用哪个 checker ,要么把 w3 拿掉试试
    let g:syntastic_html_checkers=["tidy"]
    dxcqcv
        37
    dxcqcv  
    OP
       Aug 27, 2015
    @jsfaint 但不应该在 available checkers 里没有 tidy ,这是最奇怪的地方
    dxcqcv
        38
    dxcqcv  
    OP
       Aug 27, 2015
    @jsfaint 强制 tidy 后,再 syntasticInfo 显示 Currently enabled checkers 是-
    jsfaint
        39
    jsfaint  
       Aug 27, 2015
    @dxcqcv
    我这边看到是这样的
    dxcqcv
        40
    dxcqcv  
    OP
       Aug 27, 2015
    @jsfaint 除了重装系统,我什么都做了,怎莫办, tidy 就是不出来,也没有错误提示,我都不知道漏了什么

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

    http://7xlcrz.com1.z0.glb.clouddn.com/tidy01.jpg
    jsfaint
        45
    jsfaint  
       Aug 28, 2015   ❤️ 1
    @dxcqcv 结合上面的某个截图,你的 tidy 根本不在 PATH 里面啊……
    你如果想放 Vim 目录下,就直接把 tidy.exe 和 gvim.exe 扔到同一个目录,不要多加一层 bin 目录……
    dxcqcv
        46
    dxcqcv  
    OP
       Aug 28, 2015
    @jsfaint 搞定了,多了层 bin 就不行,非常感谢
    jsfaint
        47
    jsfaint  
       Aug 30, 2015
    @dxcqcv 恭喜~~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1549 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 16:39 · PVG 00:39 · LAX 09:39 · JFK 12:39
    ♥ Do have faith in what you're doing.