V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
sdjl
V2EX  ›  Python

Vim 写 Python ,有没有轻量级的语法检测(Lint)工具?

  •  
  •   sdjl · 2018-08-09 17:54:15 +08:00 · 5396 次点击
    这是一个创建于 2293 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我用 vim 写 python,希望语法检测功能能提醒我 “变量名未申明却使用”,以及“变量申明了但未使用”。

    我装过 vim-flake8、pymode,但这些东西太复杂,提醒了一大堆我不需要的错误。

    我想要一个轻量级的 lint 工具,解决最基本的语法错误就行,谢谢~
    23 条回复    2018-08-13 16:41:11 +08:00
    kiwi95
        1
    kiwi95  
       2018-08-09 18:13:00 +08:00 via Android   ❤️ 1
    解决所有这些错误后会发现自己写的 python 代码好多了
    noNOno
        2
    noNOno  
       2018-08-09 18:24:00 +08:00
    同意 1L 观点.
    BBCCBB
        3
    BBCCBB  
       2018-08-09 18:25:01 +08:00   ❤️ 2
    ale, github 搜索, 装上后就不用管了
    zhuangzhuang1988
        4
    zhuangzhuang1988  
       2018-08-09 18:26:04 +08:00   ❤️ 2
    用 pycharm 哪怕免费版本
    也比一堆配置出来的 bug 多多的开源的强 1000 倍
    jhsunnyshine
        5
    jhsunnyshine  
       2018-08-09 18:33:04 +08:00 via Android
    4 楼都不看楼主是用 Vim 的嘛,很大程度都没有图形界面,就算有,人家也是要 Vim 插件的呀~
    sdjl
        6
    sdjl  
    OP
       2018-08-09 18:48:42 +08:00
    @BBCCBB 谢谢,我看看

    @kiwi95 同意,不过我喜欢有自己的代码风格呢~

    @zhuangzhuang1988 只用 vim
    Biebe
        7
    Biebe  
       2018-08-09 19:01:02 +08:00 via iPhone
    lsp
    zergmk2
        8
    zergmk2  
       2018-08-09 20:30:43 +08:00 via Android
    pycharm + vim plugin …
    xuboying
        9
    xuboying  
       2018-08-09 21:10:23 +08:00
    flake8 已经非常好了,默认不配置也不会很啰嗦,加一个 autopep 的插件可以解决 80%+的格式错误
    真正啰嗦的是 pylint,楼主可以比较一下。。。

    如果楼主想了解其他检查工具,可以看看 vim 的 ale 插件关于 python 的建议
    heikejia
        10
    heikejia  
       2018-08-09 21:37:52 +08:00
    https://github.com/neomake/neomake


    silent! call neomake#configure#automake('nrwi', 500)

    这需要这个配置就行。

    https://github.com/tracyone/vinux
    bufpay
        11
    bufpay  
       2018-08-09 21:44:57 +08:00
    python 变量不用声明呀
    whoami9894
        12
    whoami9894  
       2018-08-10 07:45:03 +08:00 via Android
    @bufpay
    你是个人才……
    whoami9894
        13
    whoami9894  
       2018-08-10 07:45:56 +08:00 via Android
    假如不是远程作业的话,可以试试 wingide+vim 模式
    bufpay
        14
    bufpay  
       2018-08-10 09:47:52 +08:00
    @whoami9894 楼主的意思应该是 赋值 吧
    sdjl
        15
    sdjl  
    OP
       2018-08-10 10:12:36 +08:00
    sdjl
        16
    sdjl  
    OP
       2018-08-10 10:13:26 +08:00
    @bufpay

    a = 1 + 1

    这时 a 不就申明了么,如果不使用 a,就需要提示
    czjackjin
        17
    czjackjin  
       2018-08-10 10:53:26 +08:00   ❤️ 1
    配置一下,把一些不需要的错误代码配置就去,就屏蔽一部分了。
    "let g:syntastic_python_checkers=['flake8']
    "let g:syntastic_python_flake8_args='--ignore=W,F,E121,E123,E126,E226,E402,E271,E24,E704,W503,W504,E265,F401,E501,E231,E225,E303,E302,E203,W291,E261,E262,F841,W391,E101'
    "
    可以参考着改下
    sdjl
        18
    sdjl  
    OP
       2018-08-10 11:03:26 +08:00
    @czjackjin 谢谢!
    symons
        19
    symons  
       2018-08-10 11:07:47 +08:00
    肉眼
    innocent
        20
    innocent  
       2018-08-10 19:43:53 +08:00 via Android
    执行一下就知道错哪儿了
    sdjl
        21
    sdjl  
    OP
       2018-08-11 15:31:40 +08:00
    @innocent 我写的是 web 程序
    zqguo
        22
    zqguo  
       2018-08-13 00:20:10 +08:00
    vim 大佬
    sdjl
        23
    sdjl  
    OP
       2018-08-13 16:41:11 +08:00
    最后用的是 flake8,忽略部分错误

    http://flake8.pycqa.org/en/latest/user/configuration.html
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1043 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:26 · PVG 04:26 · LAX 12:26 · JFK 15:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.