在使用Vim编辑Python这类的脚本时,如何在下方嵌入一个小小的shell,以方便观察输出结果?
phpcn_u1582
phpcn_u1582 2017-05-16 16:37:03
0
10
663

[问题描述]
希望不要跳出Vim
希望是:在normal-mode下,按某一个键,然后下方有一个小小的shell窗口,方便观察输出(就像IDE做的那样)
有时候只是为了验证一下某些想法,频繁在Vim和Shell之间切换也不是办法

[环境&重现]
Ubuntu14-Vim7.4(不兼容Vi)

update
解决了
不要重复造轮子,自己弄的不仅不好而且由于不熟悉vim脚本那一套语法, 最终也是一个蹩脚的轮子

请Google搜索 'vim quickrun'

phpcn_u1582
phpcn_u1582

全部回复(10)
伊谢尔伦

可以用:

  • neovim 的 terminal

  • tmux + vim

  • vim + Conque-Shell

伊谢尔伦

直接执行 :!python a.py 可以啦!
另外非要映射快捷键的话,我使用了一个大神的vim配置,很完善,k-vim, 他里面就有一个运行按键设置::F10 就跟:!python a.py的效果一样,

阿神

vim的make就会在下方显示执行结果呀。
在vim里执行shell的插件没有我特别满意的。所以后来用了tmux和vim,但是可能会出一些问题,而且再有gui的系统里总觉得不好。
所以现在用的是vim + tilda。类似tilda的小工具很多,你搜一下吧,我都忘记叫什么了。

我想大声告诉你

分窗口你肯定会的
!!执行命令行,并把结果写入当前buffer
宏和键绑定

这几个结合起来就是你要的

世界只因有你

@shomy 的方法可以稍微改进一下:

:!python %

% 指代当前文件, 执行之前你需要先保存一下.

Peter_Zhu

推荐使用 https://github.com/klen/python-mode

直接运行 python 脚本, 还支持 virtualenv

  • Run python code (<leader>r)

给我你的怀抱

使用neovim,里面有terminal窗口。

漂亮男人

这是我的:

function Result_of_run(run_sign)
    "!ls这样运行, 显示的结果会切换到shell界面
    echo system(a:run_sign . shellescape(expand('%')))
endfunction

autocmd BufNewFile,BufRead *.py nnoremap <buffer> <F2> :up<CR>:call Result_of_run("python ")<CR>
漂亮男人

你可以使用neovim,内置terminal,可以参考我的配置(兼容vim)

https://github.com/wsdjeg/DotFiles

仅有的幸福

nnoremap r :!%:p

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板