在使用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的效果一樣,
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)
使用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>
