启用后set mouse=a
,在Vim内部复制的文本将不会粘贴到Vim外部。有人知道解决此问题的方法吗?
在这里,用鼠标选择文本将打开可视模式并禁用Copy
弹出菜单中的选项:
mouse=a
不是编译选项,它是vimrc中的内容。B)使用vim编译时,+clipboard
它允许您在:set number
打开时复制/粘贴,而无需复制/粘贴数字,尽管也许您仍然必须做一些映射C)不必自己重新编译VIM,它可以在任何操作系统支持的某些软件包管理器的vim中打开。我的回答提到了这个问题。
启用后set mouse=a
,在Vim内部复制的文本将不会粘贴到Vim外部。有人知道解决此问题的方法吗?
在这里,用鼠标选择文本将打开可视模式并禁用Copy
弹出菜单中的选项:
mouse=a
不是编译选项,它是vimrc中的内容。B)使用vim编译时,+clipboard
它允许您在:set number
打开时复制/粘贴,而无需复制/粘贴数字,尽管也许您仍然必须做一些映射C)不必自己重新编译VIM,它可以在任何操作系统支持的某些软件包管理器的vim中打开。我的回答提到了这个问题。
Answers:
shift用鼠标选择时按。这将使鼠标选择的行为就像mouse=a
未启用一样。
注意:此技巧也适用于“中间按钮粘贴”:如果要粘贴在外部选择的vim文本,请shift在单击中间按钮的同时按。只需确保在插入时激活插入模式即可(您可能还想:set paste
避免意外的影响)。
OS X(mac):在选择(source)时按住alt / option
Fn
键是正确的方法。即(mouse=a
启用)在Fn
按键的同时选择文本,然后使用CMD + C复制并粘贴到所需的任何位置。
使用",+,y使得视觉选择后。无论如何,您都不应该使用终端的copy命令,因为这会复制终端看到的内容而不是实际内容。这是这样做的:
+
为下一次删除,拉动或放置而命名的寄存器。命名的寄存器+
是一个特殊的寄存器,它是X11剪贴板寄存器。(在其他系统上,你会用*
相反,我认为,看到:help clipboard
和:help x11-selection
)您可以这样映射它:
:vmap <C-C> "+y
然后用鼠标突出显示某些内容,然后按Control-C将其复制。
仅当使用该+xterm_clipboard
选项编译Vim时,此功能才有效。运行vim --version
查找是否有。
"*y
取决于操作系统。
+clipboard
呢 关于什么的+clipboard
用xterm_clipboard
了吗?
在OSX上使用fn代替shift。
option
哪些是关键alt
的MacOS主机上的等效键。它是debian9上的远程终端。通过在遥控器上添加set mouse=a
/ set mouse=r
in都不起作用 /etc/vim/vimrc
。
问题是编译vim时使用的编译设置。vim --version
显示这些。
在OSX中,默认的vim具有-clipboard
但您需要+clipboard
在osx上,您可以并且显然通常应该使用macvim。你可以做brew cask install macvim
这一个拥有+clipboard
。
他们将有两个vims。
~$ ls -l /usr/bin/vim <--- default vim
-rwxr-xr-x 1 root wheel 1745984 15 Jul 2017 /usr/bin/vim
~$ ls -l /usr/local/bin/vim <-- macvim, installed recently via that mentioned brew line.
lrwxr-xr-x 1 apple admin 42 16 May 23:32 /usr/local/bin/vim -> /Applications/MacVim.app/Contents/bin/mvim
~$
运行vim将运行macvim'cos ,该路径/usr/local/bin
应该/usr/bin
在路径之前,尽管您可以使用进行检查which vim
。
运行vim(运行macvim)是可以的,但是您可能希望将vi映射到macvim'cos,否则运行vi会保持默认的vim!您可以使用ln重写或删除(使用rm)并重新创建vi符号链接。要做到这一点没有“操作不允许”的错误,你必须(临时)禁用SIL。/apple/208478/how-do-i-disable-system-integrity-protection- sip-aka-rootless-on-macos-os-x。
macvim具有+clipboard
如下所示vim --version
这是~/.vim/vimrc
仅处理所需行的工作。
:set mouse=a
:map <leader>c "+y
:map <leader>v "+p
默认的领导者键是反斜杠。
我读过一个建议,即应该使用引导键。(当然,控件已经使用了许多键,因此建议不要使用控件。我也不知道这是否也适用于命令键,但是无论如何)。
与上述映射, \c
将做"+y
这将从被称为+寄存器复制到剪贴板。并且\v
将从称为+的寄存器中粘贴。
因此,这是在Windows之间工作的复制/粘贴。
另一个操作系统可能要求"*
而不是"+
-xterm_clipboard
。也许a +xterm_clipboard
在某种程度上是有益的,但是对这个解决方案来说并不重要。
如果使用的是Putty会话,那么它将自动复制选择。如果我们在vim中使用了“ set mouse = a”选项,则使用Shift + Mouse拖动选择将自动选择文本。需要检查X项。
set mouse=a
当我重读该问题时,我无意中解释了如何关闭电源,发现OP最初不想将其关闭。无论如何,对于任何正在寻找如何set mouse=
集中关闭鼠标()的人,我都会在这里留下我的答案的参考:https : //unix.stackexchange.com/a/506723/194822
在复制和粘贴选择内容时按住Shift键对我有用
添加set clipboard=unnamed
到您的中.vimrc
。因此,它将对所有的yank,delete,change和put操作使用剪贴板寄存器'*'而不是未命名的寄存器(请注意,它不仅影响鼠标)。
寄存器“ *”的行为取决于您的平台以及您的vim
编译方式(或使用neovim
)。
如果不起作用,则可以尝试使用set clipboard=unnamedplus
,但是此选项仅在X11系统上有意义。
+clipboard
和编译的mouse=a
,则无需使用终端弹出菜单就可以从vim复制/粘贴。您可以clipboard
使用来检查是否已启用vim --version
。