dma*_*man 46 linux clipboard vim windows-10 windows-subsystem-for-linux
为了现在摆脱这个问题并避免任何混淆......这是针对在 Windows 10 (ubunutu) 中运行的 Linux,也称为 WSL。它与 cygwin 和 windows 或独立的 linux 不同。是它自己的野兽。
因此,在我参考我已经阅读过的所有文章或评论之前已经问过的所有文章之前,请记住上述内容。
有谁知道如何从 Windows 剪贴板或 WSL Ubuntu Linux 仿真中进行复制和粘贴?我正在使用 set clipboard=unnamedplus
。这不是工作,不是不管我用什么样的组合yy
,"+yy
等等。
是的,它vim-gtk
有+xterm_clipboard
支持。
Ant*_*ods 30
(编辑:2020 年 10 月)对于 2 向剪贴板neovim
,我已经使用win32yank
了几个月没有问题。放在win32yank.exe
某处Linux中的路径(任何地方应该是罚款),以及以下添加到您的init.vim
。
set clipboard+=unnamedplus
let g:clipboard = {
\ 'name': 'win32yank-wsl',
\ 'copy': {
\ '+': 'win32yank.exe -i --crlf',
\ '*': 'win32yank.exe -i --crlf',
\ },
\ 'paste': {
\ '+': 'win32yank.exe -o --lf',
\ '*': 'win32yank.exe -o --lf',
\ },
\ 'cache_enabled': 0,
\ }
Run Code Online (Sandbox Code Playgroud)
(原始答案)如果你只是想从 VIM 猛拉到 Windows,对于 WSL2 和 Ubuntu 20.04,Reddit 上的这个答案对我来说非常适合标准 VIM 和标准 WSL2 Ubuntu。
将以下内容放入您的.vimrc
(例如,在底部):
" WSL yank support
let s:clip = '/mnt/c/Windows/System32/clip.exe' " change this path according to your mount point
if executable(s:clip)
augroup WSLYank
autocmd!
autocmd TextYankPost * if v:event.operator ==# 'y' | call system(s:clip, @0) | endif
augroup END
endif
Run Code Online (Sandbox Code Playgroud)
Aer*_*ows 21
多亏了 github 用户robbiev,这个解决方案对我有用。
为了完成,这是他的回答的摘录:
使用所有默认选项,并确保选中剪贴板选项。
最后,将配置保存到一个文件中,config.xlaunch
(从现在开始使用它来启动它)。
将 exportDISPLAY=localhost:0.0
放在.bashrc
Windows 的 bash 中并source ~/.bashrc
在任何打开的终端中运行。
确保使用剪贴板支持安装 vim。vim --version | grep clipboard
应该说+clipboard
,不是-clipboard
。此外,如果您:echo has('clipboard')
在 vim 中运行 ex 命令并且它说它0
没有编译剪贴板支持。
如果您没有剪贴板支持,请安装使用剪贴板支持编译的 vim 包,例如apt-get install vim-gtk
.
现在您可以通过"*p
和访问 Windows 系统剪贴板"*y
,或者通过放入set clipboard=unnamed
您的.vimrc
文件将其设置为默认值。
正如robbiev提到的,您现在还应该能够使用 SSH X 转发从远程机器使用 Windows 剪贴板。
小智 8
以下内容对我有用(2023/05/15,WSL Ubuntu 20.04.5 LTS):
确保您的 WSL 具有 X11 支持:https://learn.microsoft.com/en-us/windows/wsl/tutorials/gui-apps
确保安装了 vim 并支持剪贴板。运行时vim --version | grep clipboard
应该显示+clipboard,而不是-clipboard。
如果您没有剪贴板支持,请安装使用剪贴板支持编译的 vim 包:
sudo apt-get install vim-gtk
Run Code Online (Sandbox Code Playgroud)
(这类似于 Aerows 答案,但你不需要 VcXsrv)
如果您启用了快速编辑模式,您只需用鼠标选择文本并右键单击即可将其复制到剪贴板。
要启用“快速编辑模式”,只需右键单击顶部的控制台窗口并选择“属性”(和/或“默认”),然后勾选“快速编辑模式”。
编辑:开箱即用,目前无法从 VIM 复制到 Windows 剪贴板。然而,在 WSL 存储库中的 GitHub-Issue 上,有些人似乎找到了一种分别使用 Xming 或 VcXsrv 来实现此目的的方法: https: //github.com/Microsoft/WSL/issues/892#issuecomment-275873108。
编辑2:再次尝试使用.vimbuffer
:/sf/ask/3113658061/
归档时间: |
|
查看次数: |
31403 次 |
最近记录: |