在使用Vim编辑Python这类的脚本时,如何在下方嵌入一个小小的shell,以方便观察输出结果?
问题描述
[问题描述]希望不要跳出Vim希望是:在normal-mode下,按某一个键,然后下方有一个小小的shell窗口,方便观察输出(就像IDE做的那样)有时候只是为了验证一下某些想法,频繁在Vim和Shell之间切换也不是办法
[环境&重现]Ubuntu14-Vim7.4(不兼容Vi)
update解决了不要重复造轮子,自己弄的不仅不好而且由于不熟悉vim脚本那一套语法, 最终也是一个蹩脚的轮子
请Google搜索 ’vim quickrun’
问题解答
回答1:可以用:
neovim 的 terminal
tmux + vim
vim + Conque-Shell
回答2:直接执行 :!python a.py 可以啦!另外非要映射快捷键的话,我使用了一个大神的vim配置,很完善,k-vim, 他里面就有一个运行按键设置::F10 就跟:!python a.py的效果一样,
回答3:vim的make就会在下方显示执行结果呀。在vim里执行shell的插件没有我特别满意的。所以后来用了tmux和vim,但是可能会出一些问题,而且再有gui的系统里总觉得不好。所以现在用的是vim + tilda。类似tilda的小工具很多,你搜一下吧,我都忘记叫什么了。
回答4:分窗口你肯定会的!!执行命令行,并把结果写入当前buffer宏和键绑定
这几个结合起来就是你要的
回答5:@shomy 的方法可以稍微改进一下:
:!python %
% 指代当前文件, 执行之前你需要先保存一下.
回答6:推荐使用 https://github.com/klen/python-mode
直接运行 python 脚本, 还支持 virtualenv
Run python code (<leader>r)
回答7:使用neovim,里面有terminal窗口。
回答8:这是我的:
function Result_of_run(run_sign) '!ls这样运行, 显示的结果会切换到shell界面 echo system(a:run_sign . shellescape(expand(’%’)))endfunctionautocmd BufNewFile,BufRead *.py nnoremap <buffer> <F2> :up<CR>:call Result_of_run('python ')<CR>回答9:
你可以使用neovim,内置terminal,可以参考我的配置(兼容vim)
https://github.com/wsdjeg/DotFiles
回答10:nnoremap <leader>r :!%:p<CR>