我不确定这是否可以按照您指定的方式完成,但可以使用在本地计算机上运行的vim服务器完成非常类似的操作.
看看:help remote.txtVim.
如果您编译的vim版本+clientserver可以使用vim创建vim服务器,然后在其上执行命令,例如打开另一个文件.
该--servername交换机可以创建一个新的服务器,--remote交换机可以发送额外的命令或文件给它.
例如
vim --servername test file1.txt
vim --servername test --remote file2.txt
Run Code Online (Sandbox Code Playgroud)
我一看,和我使用的标准上是Xubuntu上的我的电脑之一VIM没有它,但也有一些指令在这里,可以帮助你,如果它已编制.如果不是,安装gvim和symlinking显然是一个选项(因为gvim默认包含它),或者从源代码编译二进制文件.
编辑:
我有更多的gvim游戏,这看起来不可能在终端内做到这一点.Control-Z在进程级别暂停作业.我认为它可能适用于屏幕,但除非gvim已在图形窗口中启动,否则似乎无法进行通信,
如果您编译VIM,这很容易+clientserver,正如Andy在之前的回答中所建议的那样.
我做了以下事情:
我启动VIM作为服务器:
vim --servername abc
Run Code Online (Sandbox Code Playgroud)
我把它暂停了CTRL+Z并做了:
vim --servername abc --remote ~/.cshrc
fg
Run Code Online (Sandbox Code Playgroud)
现在VIM已经~/.cshrc开放了.
然后我做了:
vim --servername abc --remote ~/.aliases
fg
Run Code Online (Sandbox Code Playgroud)
现在VIM有一个缓冲区~/.cshrc和另一个缓冲区~/.aliases.
然后我做了:
vim --servername abc --remote-tab ~/foo_bar
fg
Run Code Online (Sandbox Code Playgroud)
现在我VIM有一个选项卡,其中前两个缓冲区打开,另一个选项卡~/foo_bar打开.
在呼叫情况下,VIM在终端中运行,而不是作为GUI运行.
我有一些建议给你,尽管这两个建议都不是你所说的。第一个是NERD Tree,它为您提供了一个很好的基于树的文件浏览器来打开其他文件。非常便利。我还设置了一个热键 ( ctrl+o) 来为我打开NERD Tree。我为我正在进行的任何项目保留一个别名~/curr/trunk,所以这总是对我有用:
map <C-O> :NERDTreeToggle ~/curr/trunk/<CR>
Run Code Online (Sandbox Code Playgroud)
我建议的另一件事是取消 ctrl+z。它有点笨重,我认识的每个使用该方法的人都容易迷失方向,最终导致 3 或 4 个 vim 在后台运行。看看如何为自己打开一个外壳。我使用 ;s 的映射来执行 shell 脚本:
map ;s :!~/.vim/shell.sh<CR>
Run Code Online (Sandbox Code Playgroud)
其中执行:
#!/bin/sh
/usr/local/bin/bash -l;
Run Code Online (Sandbox Code Playgroud)
我的 .profile 中也有一些魔法,可以让我明显地看到我在 VIM 中:
if [ "$VIMRUNTIME" != "" ] ; then
export PS1="\u@\h \W \t$ vim> "
fi
Run Code Online (Sandbox Code Playgroud)
</2 美分>
| 归档时间: |
|
| 查看次数: |
1942 次 |
| 最近记录: |