原题链接 :转自匠艺社区CodingStyle
在自己的Vim上好不容易安装上了Vim Shell,但是现在还是遇到了一些配置上的问题。特地来此请教大家,先谢过了!
可参考文档:vimshell.txt on Github
参考文档中说到了,<C-c>是终止正在运行的脚本的快捷键,这个快捷键会触发一个函数,这个函数会发送一个中断请求。但是,貌似这个快捷键只有在两种情况下有效:
在Vim Shell处于等待用户输入的时候,按下<C-c>的效果相当于回车,Vim Shell会新建一行;
在使用time内置命令的时候。例如在Vim Shell中输入time python test.py
,在等待的时候按下<C-c>,脚本立即结束;
但是,在其他的情况下就没有作用了,例如在Vim Shell中输入exe python test.py
的时候,或者在Vim Command中输入VimShellInteractive python test.py
的时候,这个快捷键都是没用的。这是为什么?
问题很简单,但是我无法解决。现在,我可以在Vim Command中输入VimShellInteractive python test.py
来执行我正在编辑的test.py脚本。但是如果我想实现一键运行python脚本的快捷键,我应该如何配置vimrc呢?主要问题在于,我怎么才能把我正在编辑的文件的完整路径和文件名传给VimShell。
谢谢!
Weiming 20/5/2016
第二个问题:
下面窗口第47行有答案
补充:你可以试试这个 https://github.com/thinca/vim-quickrun
可以自动识别你的文件类型调用相应的解释器,
前提是不要在Windows 下写 #!shebang
5/22/2016
QuickRun 补图
嗯,刚刚试了,js 也可以 q 快速运行, Java 可以自动 javac Class.java 然后 java Class
都不需要自己写文件名,其他文件类型也可以自己定义
我自己改了一点点设置
5/24/2016
shebang 是指脚本文件第一行
这个样子的内容,比如我第一张截图
然而 Windows 没有env,也不认反斜杠路径分隔符#!/usr/bin/env python
,在Linux 下 shell 会调用这个程序,并将脚本文件作为第一个参数。#!/usr/bin/env python
,在Linux 下 shell 会调用这个程序,并将脚本文件作为第一个参数。QuickRun 完美兼容 shebang
第一张截图那样的代码,QuickRun 会尝试运行
/usr/bin/env python /path/to/file.py
QuickRun 完美兼容 shebang第一张截图那样的代码,QuickRun 会尝试运行
/usr/bin/env python /path/to/file.py
当然Windows 本身也不存在shebang 的概念
#!shebang
PS: 你可以在Windows 下看看
PythonScripts
目录下的*.py
, 这些文件都有加入#!shebang
总之在Windows 下写脚本不需要加上#!shebang
PythonScripts
目录下的*.py
, 这些文件都有加入#!shebang