有没有办法让Vim在Screen会话中的所有打开文件中使用单词进行自动完成?

时间:2013-06-27 08:14:14

标签: vim autocomplete gnu-screen

标题说全是:

  • 启动屏幕(如在GNU屏幕中,屏幕多路复用器)
  • 在Vim中打开文件
  • 创建一个新的屏幕窗口
  • 在该窗口中打开文件
  • 切换回第一个屏幕窗口,让Vim在另一个屏幕窗口中识别该文件的内容,并在自动完成操作中使用它。

有点像Vim识别所有缓冲区中的内容以用于自动完成,但不是缓冲区,而是屏幕窗口。

1 个答案:

答案 0 :(得分:1)

没有内置的方法来实现这一点(怎么可能呢?Vim并不知道从哪里开始它。)但你可以(付出相当大的努力)实现类似的东西这个。这只是一个大纲;我希望这足以让你沮丧:

Vim允许通过'completefunc',cp实现自定义插入模式完成。 :help complete-functions。要从其他屏幕会话中运行其他Vim的源,您可以使用Vim客户端 - 服务器通信:help remote.txt来询问它们的打开缓冲区。然后它就是“只是”打开它们并解析它们以完成匹配(在你的Vim或远程的)中。

但为什么要一路走?我宁愿在单个Vim实例中打开那些相关文件;毕竟,Vim允许非常灵活的布局,窗口分割和标签页本身。 (您仍然可以使用系统剪贴板偶尔共享文本片段。)