Linux shell (bash) on vi's splitview

2019-02-04 14:57发布

I've been searching with no results for an integration of bash inside vi, as featured in emacs; the problem is: I have vi open with 2 views, one open with :split command, and I want to use bash through the second view, while I'm editing a file in the first; if I do :sh while editing the second view, the whole session pauses and a bash shell is opened, but I'm not able to edit the file and use the shell at the same time.. I don't want to use !<command> or external programs such as "terminator".. Is there a solution? Thx

6条回答
仙女界的扛把子
2楼-- · 2019-02-04 15:24

I'm afraid this feature isn't available in (presumably) Vim. It is on the list of possible new features. See here http://www.vim.org/sponsor/vote_results.php. At the current time of writing this is feature number two, add IDE features. If you want to vote for this feature you will need to sponsor Vim.

查看更多
我想做一个坏孩纸
3楼-- · 2019-02-04 15:26

I use VIM in conjunction with tmux, which handles window splits very well. I just transitioned to this workflow from a combination of terminal and GVIM, though, and I encountered your question in looking for a piece missing from my old workflow.

I could run GVIM from the command line with the "--servername" flag and add files to that window with the "--remote-tab" flag. Now that I'm living entirely in the terminal with tmux, I don't seem to have the same option, so BBW. :/

查看更多
闹够了就滚
4楼-- · 2019-02-04 15:27

Have you tried looking for third-party Vim plugins? Conque Shell looks like it might do the job.

查看更多
We Are One
5楼-- · 2019-02-04 15:39

As a new (and maybe better) answer, may I suggest you to have a try to the amazing neovim fork of vim? It is a newer project; I tried it myself and found no compatibility issue with vim (including the use of sophisticated plugins) and it has exactly what you are asking for.

查看更多
Emotional °昔
6楼-- · 2019-02-04 15:50

neovim now support terminal emulation. More details at help nvim-terminal-emulator in nvim

查看更多
Anthone
7楼-- · 2019-02-04 15:51

I just wrote myself a plugin for that purpose, see http://www.vim.org/scripts/script.php?script_id=4887

It won't work under Windows. On the other hand, it uses the Unix philosophy: two FIFOs, some tricky interaction between background processes. It doesn't require python or whatever. It allows to execute either a shell or any interpreter for a programming language. You can see a video of it with GNU APL working in a buffer here.

Like IPython, you work on your own buffer and see the output in a scratch buffer.

Since I spent much time on Stackoverflow studying the answers of the three following pages:

I will post the same answer on the three pages; I hope nobody will be hurt by this triple post, but really they ask something close and someone else could find my answer interesting for his/her own purposes by browsing the web and finding any of these three pages.

查看更多
登录 后发表回答