我有两个独立的Vim运行实例。我想设置我的系统,以便在我在一个Vim中搜索something
时(使用/
,?
,*
或#
),然后在另一个Vim中按n
或N
,它会在第二个Vim中搜索相同的something
。我正在运行Ubuntu。
我已经在我的.vimrc文件中使用set clipboard=unnamed
,在vim中使用主要系统剪贴板。
到目前为止的研究
命令行工具“xsel”允许我访问Ubuntu中的三个不同的剪贴板:主剪贴板(用于选择文本和中键单击以粘贴),剪贴板剪贴板(用于Ctrl + C,Ctrl + V等)和辅助剪贴板(似乎未使用)。我现在想到,当使用/
,?
,*
或#
时,Vim使用xsel设置辅助剪贴板,并使用xsel访问相同的剪贴板当n
或N
被按下时。
答案 0 :(得分:3)
我打算在这里发布我拼凑在一起的代码,但后来又决定把它捆绑成一个小插件:https://github.com/dahu/VimSharedSearch
答案 1 :(得分:1)
设置clipboard=unnamed
后,您可以使用let @/=@*
和let @*=@/
(*
在最后一个模式注册表(您搜索的最后一个内容)和共享剪贴板之间进行复制是剪贴板,/
是最后一个模式。)
因此,您可以创建一个功能,将最后一个模式复制到剪贴板并映射到/
,?
,*
或#
,另一个复制到副本剪贴板到n
或N
的最后一个模式。
答案 2 :(得分:0)
不完全是您的要求,但为此目的,我使用拆分窗口(:sp
或:vsp
)。