wsl 和 windows 10 neovim 之间不共享剪贴板
Clipboard not shared between wsl and windows 10 neovim
我在 wsl 中使用回形针时遇到问题,在使用 neovim 时按 yy 复制一行我只能将其粘贴到 neovim 中,但我想做的是将其粘贴到windows 中的页面或 txt 文件和记事本,这只是一个例子,我还希望能够从 windows 复制并直接在 neovim 中粘贴字母 p,然后才能执行此操作,使用相同的以前的配置文件,但是我不得不通过病毒格式化我的windows。
这是我的配置文件:
"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
我有ubuntu20.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,
\ }
我在 wsl 中使用回形针时遇到问题,在使用 neovim 时按 yy 复制一行我只能将其粘贴到 neovim 中,但我想做的是将其粘贴到windows 中的页面或 txt 文件和记事本,这只是一个例子,我还希望能够从 windows 复制并直接在 neovim 中粘贴字母 p,然后才能执行此操作,使用相同的以前的配置文件,但是我不得不通过病毒格式化我的windows。
这是我的配置文件:
"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
我有ubuntu20.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,
\ }