如何解决剪贴板未在 wsl 和 windows 10 neovim 之间共享
我在wsl中使用回形针时遇到问题,当按yy复制一行时使用neovim时我只能将其粘贴在neovim中,但我想做的是将其粘贴在页面中或在带有记事本的 Windows 中创建一个 txt 文件,这只是一个示例,我还希望能够从 Windows 复制并直接在 Neovim 中粘贴字母 p,然后才能使用相同的先前配置文件执行此操作,但是我不得不通过病毒格式化我的窗口。
这里是我的配置文件:
"set directory
set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath = &runtimepath
"files
so ~\.config/nvim/.vim/plugins.vim
so ~\.config/nvim/.vim/plugin-config.vim
so ~\.config/nvim/.vim/maps.vim
set list
syntax enable
"show line number and relative number
set nu
set rnu
set numberwidth=1 "better show the numbers
"copy and paste with the mouse
set mouse=a
"enable copy and paste 'yy,p'
set clipboard=unnamed
"shows the pressed
set showcmd
"Show current column
set ruler
"perform indent
set smartindent
"does not create external files
set noswapfile
set nobackup
"Seaching
"moves to result as you type
set incsearch
"distinguish between upper and lower case when searching
set smartcase
"Highlight matches
set hlsearch
"Unless they contain at least one capital letter
set ignorecase
"tab of 4 spaces
set noexpandtab
set tabstop=4 shiftwidth=4
"Scheme
colorscheme gruvbox
let g:gruvbox_contrast_dark = "hard"
"set background=dark
"highlight Normal ctermbg=NONE
set laststatus=2
set noshowmode
" React
"set backupcopy=yes
"Fonts
set guifont=Hurmit_Nerd_Font_Mono:h12
"When a file is edited its indent file is loaded
filetype plugin indent on
"Encoding
set encoding=utf-8
之前我只需要这个:
"enable copy and paste 'yy,p'
set clipboard=unnamed
或者,也许我在 Ubuntu 中缺少一些软件包来实现它,如果可以,请告诉我吗?我已经疯狂搜索,我只找到了一个解决方案如下:
" 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
但是,这反过来不行,也就是说,如果我从windows复制了一些东西,我无法将其粘贴到wsl中
我有 ubuntu 20.04,和格式化前一样,我也安装了 xclip、tmux、zsh、python3、python2、nodejs
最后在执行 :%y
时出现此错误,我也尝试放置 let g: clipboard ...
,但它也不起作用
解决方法
Neovim 将剪贴板访问权限委托给外部应用程序。因为你没有它不能工作。这在上图中清楚地写给您。
Windows clip
不被支持,因为它不能从剪贴板读取; xclip
不会工作,因为它需要 X-server 才能工作(从名字上看是不是很明显?)等等。
Neovim 通常使用 win32yank
访问 Windows 剪贴板。所以尝试下载它并放在 WSL 路径上的某个位置。
let g:clipboard = {
\ 'name': 'win32yank-wsl',\ 'copy': {
\ '+': '/path-file/win32yank.exe -i --crlf',\ '*': '/path-file/win32yank.exe -i --crlf',\ },\ 'paste': {
\ '+': '/path-file/win32yank.exe -o --lf',\ '*': '/path-file/win32yank.exe -o --lf',\ },\ 'cache_enabled': 0,\ }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。