【问题标题】:Yank text from VIM editor from one session to another session将 VIM 编辑器中的文本从一个会话拖到另一个会话
【发布时间】:2021-04-19 04:00:59
【问题描述】:

我使用 Putty 连接到服务器并使用 2 个会话,因为我想比较 2 个 .sh 文件,并且我发现将这两个文件放在不同的窗口上更容易。

我使用 VIM 作为文本编辑器,想从第一个会话的文件中拉出一行到第二个会话的文件。

我使用V"+y 进行拉动,然后使用p 进行粘贴,但只有在我关闭当前会话中的文件并在同一会话中打开另一个文件时才有效。

是否可以从一个会话中提取文本并将其粘贴到另一个会话中?

【问题讨论】:

  • 你的 vim 中的:echo has('clipboard') 打印了什么?
  • 该命令打印 0。
  • 你的 vim 不支持剪贴板,"+ 不能用于你想要的。你可以写一个映射来保存/加载复制的文本到一个文件,比如~/clipboard.txt,或者尝试一些插件,比如vim-easyclip.

标签: vim putty yank


【解决方案1】:
  1. 你可以在一个 Vim “会话”中有两个窗口:

     # two windows stacked vertically
     $ vim -o file1 file2
    
     # two windows stacked horizontally
     $ vim -O file1 file2
    

    你甚至可以区分它们:

     $ vim -d file1 file2
    

    所以在我看来,您最初的目标,如所述,根本不保证使用两个单独的 Vim“会话”。

    请参阅:help -o:help -O:help diff

  2. 要在两个并发的 Vim“会话”或一个 Vim“会话”和另一个程序之间拉动,您需要的最低限度是一个支持剪贴板的 Vim,但不清楚您所说的“会话”是什么(它是 Vim 会话还是 shell 会话?)所以我怀疑这对你的情况是否足够。

【讨论】:

  • 感谢您的回答。我打开不同的 Putty 终端,所以我猜它是 shell 会话。一般来说,我知道 -o 选项,但是当文件位于不同的窗口时,我发现它更舒服。我想我将不得不习惯它。
【解决方案2】:

原来我启用了鼠标模式,当我关闭它时,我可以简单地 Ctrl + C 所需的部分并将其添加到另一个会话。不知道鼠标模式有这么大的区别。

【讨论】:

    猜你喜欢
    • 2012-10-06
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多