当前位置:  开发笔记 > 运维 > 正文

从linux终端重用vim实例

如何解决《从linux终端重用vim实例》经验,为你挑选了2个好方法。

通过在vim中使用远程功能,是否可以根据需要重用vim实例来加载多个文件.

在同一个终端实例中拥有该工具会很好.

我更希望有一个基于选项卡的界面,在vim 7+中可用.场景应该是

    打开终端

    vim file1.cpp

    编辑 - 保存 - 按Ctrl + Z进行提示

    打开另一个文件

    vim file2.cpp

    现在我们在同一个编辑器中打开file1.cpp和file2.cpp

那可能吗?!



1> Andy..:

我不确定这是否可以按照您指定的方式完成,但可以使用在本地计算机上运行的vim服务器完成非常类似的操作.

看看:help remote.txtVim.

如果您编译的vim版本+clientserver可以使用vim创建vim服务器,然后在其上执行命令,例如打开另一个文件.
--servername交换机可以创建一个新的服务器,--remote交换机可以发送额外的命令或文件给它.

例如

vim --servername test file1.txt
vim --servername test --remote file2.txt

我一看,和我使用的标准上是Xubuntu上的我的电脑之一VIM没有它,但也有一些指令在这里,可以帮助你,如果它已编制.如果不是,安装gvim和symlinking显然是一个选项(因为gvim默认包含它),或者从源代码编译二进制文件.

编辑:
我有更多的gvim游戏,这看起来不可能在终端内做到这一点.Control-Z在进程级别暂停作业.我认为它可能适用于屏幕,但除非gvim已在图形窗口中启动,否则似乎无法进行通信,



2> Nathan Fellm..:

如果您编译VIM,这很容易+clientserver,正如Andy在之前的回答中所建议的那样.

我做了以下事情:

我启动VIM作为服务器:

vim --servername abc

我把它暂停了CTRL+Z并做了:

vim --servername abc --remote ~/.cshrc
fg 

现在VIM已经~/.cshrc开放了.

然后我做了:

vim --servername abc --remote ~/.aliases
fg 

现在VIM有一个缓冲区~/.cshrc和另一个缓冲区~/.aliases.

然后我做了:

vim --servername abc --remote-tab ~/foo_bar
fg 

现在我VIM有一个选项卡,其中前两个缓冲区打开,另一个选项卡~/foo_bar打开.

在呼叫情况下,VIM在终端中运行,而不是作为GUI运行.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有