我想问一下 vim+tmux。我在两个 tmux 窗格中使用 vim 打开两个文件。我怎样才能将代码从第一个窗格中的 vim 复制到第二个窗格。我使用了 tmux 的复制模式,但它有一个数字行并创建了一个新行。谢谢你的帮助!
答案1
如果问题是如何将文本从一个 vim 窗口(在一个 tmux 窗格中)复制到另一个 vim 窗口(在另一个 tmux 窗格中)那么这就是问题了vim-clipboard
。
在这种情况下,在你的终端类型上vim --version | grep clipboard
,如果输出是这样的
+clipboard +job +path_extra +user_commands
+eval +mouse_dec +statusline +xterm_clipboard
注意+clipboard
,你的 vim 具有剪贴板功能。
你可以通过以下方式简单地复制代码,
视觉模式
- 直观地选择您需要复制的文本。
- 在键盘上输入
"+yy
“yank”文本。
正常模式
通过使用数字,你可以说
12"+y
或者你可以说
"+yy
拉出当前行。
粘贴
从一个 vim 窗口复制文本后,你可以导航到第二个窗口并转到插入模式然后输入Ctrl r +
Control + r + 加号从 vim 粘贴文本:REG
键入该内容并查看其中存储的所有内容,您实际上可以plus sign
在该代码中替换它们。
然而如果你有类似的东西-clipboard
意味着你的 vim 没有剪贴板功能。
最简单的方法是安装vim-nox
具有许多功能(包括剪贴板)的。或者安装gvim
会将这些功能添加到终端 vim 的。
粘贴时,重要的是在:set paste
粘贴前和:set nopaste
粘贴后将剪贴板文本中的一些格式保留到 vim 中。
关于使用 tmux 进行复制
嗯,tmux 会将你的整个 vim 视为一个板,它会复制所有内容甚至状态栏从 vim 复制内容的正确方法是使用vim 的剪贴板功能从终端复制内容的正确方法是使用tmux & xclip
。