作为一个坚定的VIM倡导者和R用户,我已经成长为真正享受Vim-R-plugin中的vim-tmux相互作用。我一直无法找到这个的python版本。不存在吗?
我注意到一个显示Rstudio equivalents for Python的类似问题,但我正在寻找像这样的东西,住在vim ....
编辑: 特别是,我正在寻找的东西
奖励积分如果:
答案 0 :(得分:1)
另一种方法是使用screen
vim插件。我更喜欢它,因为它避免了配置步骤。所以这就是你做的:
screen
vim插件.vimrc
中创建一些便利命令(请参阅下面我添加的内容).py
文件,点击<LocalLeader>p
即可开始使用。请注意,在打开TMUX
文件之前,您不必打开.py
。这是我添加的内容(基于https://github.com/akhilsbehl/configs/blob/master/vimrc):
" use tmux for splitting screen
let g:ScreenImpl = "Tmux"
" default width of tmux shell pane
let g:ScreenShellWidth = 82
" open an ipython shell (! for vertical split)
autocmd FileType python map <LocalLeader>p IPython!<CR>
" close whichever shell is running
autocmd FileType python map <LocalLeader>q :ScreenQuit<CR>
" send commands
" line
autocmd FileType python map <LocalLeader>r V:ScreenSend<CR>0j
" block
autocmd FileType python map <LocalLeader>b {jv}:ScreenSend<CR>}
" selection
autocmd FileType python map <LocalLeader>v :ScreenSend<CR>`>}0j
" convenience
autocmd FileType python map <LocalLeader>gw :call g:ScreenShellSend('!pwd')<CR>
autocmd FileType python map <LocalLeader>L :call g:ScreenShellSend('!clear')<CR>
autocmd FileType python map <LocalLeader>t :call g:ScreenShellSend('%%time')<CR>
autocmd FileType python map <LocalLeader>tt :call g:ScreenShellSend('%%timeit')<CR>
autocmd FileType python map <LocalLeader>db :call g:ScreenShellSend('%%debug')<CR>
autocmd FileType python map <LocalLeader>pr :call g:ScreenShellSend('%%prun')<CR>
" get ipython help for word under cursor
function GetHelp()
let w = expand("<cword>") . "??"
:call g:ScreenShellSend(w)
endfunction
autocmd FileType python map <LocalLeader>h :call GetHelp()<CR>
" get `dir` help for word under cursor
function GetDir()
let w = "dir(" . expand("<cword>") . ")"
:call g:ScreenShellSend(w)
endfunction
autocmd FileType python map <LocalLeader>d :call GetDir()<CR>
" get `len` for word under cursor
function GetLen()
let w = "len(" . expand("<cword>") . ")"
:call g:ScreenShellSend(w)
endfunction
autocmd FileType python map <LocalLeader>l :call GetLen()<CR>
答案 1 :(得分:1)
我确信它不像你想要的那样功能齐全,但我刚刚发布了这个插件。
https://github.com/iago-lito/intim
尝试一下,不要犹豫,在回购邮件中提交您的第一个错误报告/功能请求:)
答案 2 :(得分:0)
迄今为止我发现的最好的是https://github.com/jpalardy/vim-slime
如何使用vim-slime
:
tmux
vim
打开脚本echo $TMUX_PANE
获取tmux窗格的名称(需要7)ipython
:SlimeConfig
中运行vim
,保留套接字名称"default"
并输入目标窗格,例如%14
vim
发送到ipython