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
Fikhtengol
V2EX  ›  Python

让编辑器保存代码后自动触发执行 or 测试

  •  
  •   Fikhtengol · 2015-07-16 19:53:11 +08:00 · 2468 次点击
    这是一个创建于 3421 天前的主题,其中的信息可能已经有所发展或是发生改变。
    祭出Emacs
    以自动执行python代码为例。保存代码将自动执行python -m doctest $buffer_name
    当然你可以替换为任意命令。
    以下elisp代码:

    (defun py-test-save-hook()
    "python Test of save hook"
    (when (eq major-mode 'python-mode)
    (shell-command (concat "python -m doctest " (buffer-name)))))
    (add-hook 'after-save-hook 'py-test-save-hook)

    加入.emacs里,或者丢到emacs buffer里c-x c-e
    完成。
    vim党和ide党怎么看
    9 条回复    2015-07-16 20:42:30 +08:00
    zhicheng
        1
    zhicheng  
       2015-07-16 19:54:12 +08:00 via Android
    呵呵
    ChangxuBlack
        2
    ChangxuBlack  
       2015-07-16 19:57:30 +08:00
    难道是女朋友想看论坛里吵起来?
    VIM和Emacs实现这个原理的功能是一样的
    好吧Emacs最牛逼Emacs最闪亮,我喜欢用Vim,就酱
    yuelang85
        3
    yuelang85  
       2015-07-16 19:59:36 +08:00
    很多人有疯狂按保存的习惯,那样的话。。。。
    Fikhtengol
        4
    Fikhtengol  
    OP
       2015-07-16 20:00:50 +08:00
    @ChangxuBlack 不知道触动你那颗神经了. 我就说了emacs里是这么搞,怎么你就高潮了。 哈哈
    ruchee
        5
    ruchee  
       2015-07-16 20:01:44 +08:00
    Vim党表示这种设置很容易实现

    但你的想法不现实,保存就执行或测试,你不烦吗?就算是脚本也够烦的了,更别提C++/Java这些编译挺耗时的语言了
    Fikhtengol
        6
    Fikhtengol  
    OP
       2015-07-16 20:02:25 +08:00
    @yuelang85 也是。那样的人就做个快捷键吧。
    Fikhtengol
        7
    Fikhtengol  
    OP
       2015-07-16 20:04:33 +08:00
    @ruchee 嗯 脚本还好,我也是受sbt启发,那玩意可以新开一个进程在那里监听着自己去编译。
    wittyfox
        8
    wittyfox  
       2015-07-16 20:24:34 +08:00 via Android   ❤️ 1
    用buffer-file-name更好吧
    iyaozhen
        9
    iyaozhen  
       2015-07-16 20:42:30 +08:00
    一保存就做 CI?没必要吧。一般不是在 svn 或者 git 上设置个钩子,提交代码了才进行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5559 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 07:55 · PVG 15:55 · LAX 23:55 · JFK 02:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.