如何在 Neovim 之外复制和粘贴?

如何在 Neovim 之外复制和粘贴?

我想将一些代码从 Neovim 复制到 Firefox,但我提取的内容无法在 Neovim 之外延续。

我检查后发现:checkhealth,上面写着:

:checkhealth 输出

我应该怎样处理这个问题?

答案1

为了能够将从 Neovim 复制的文本粘贴到任何应用程序,您必须将文本复制到系统剪贴板。您可以按如下方式执行此操作:

  1. 安装剪贴板工具,因为如您的屏幕截图所示,您没有安装该工具。

    • 如果你处于 Xorg 会话中,你可以通过运行xsel以下命令来安装:xclip

      sudo apt install xsel
      

      或者:

      sudo apt install xclip
      
    • 如果您处于 Wayland 会话中,您可以wl-clipboard通过运行以下命令进行安装:

      sudo apt install wl-clipboard
      
  2. 选择您想要在 Neovim 中复制的文本。

  3. 逐个按下以下键:"+y

    y这会将选定的文本复制 ( ) 到选择寄存器"+)。

  4. Ctrl使用常用的粘贴快捷方式+将选定的文本粘贴到您想要的应用程序中V

为了使事情变得简单,您还可以通过在文件中添加以下内容将您在 Neovim 中复制的文本始终复制到系统剪贴板~/.config/nvim/init.vim(如果文件不存在则创建该文件;如果使用自定义 Neovim 设置则转到正确的文件位置):

set clipboard=unnamedplus

如果您使用Lua 接口对于配置 Neovim,你可以使用以下命令实现相同目的kkvamshee 的回答

答案2

我刚刚测试了我的 nvim,并且从 (~/.config/nvim/init.vim) 复制/粘贴/鼠标相关的配置选项是:

    set mouse=nv                 " middle-click paste with 
    set hlsearch                " highlight search 
    set clipboard+=unnamedplus   " using system clipboard
    # with these plugins
    call plug#begin("~/.vim/plugged")
    " Plugin Section
    Plug 'dracula/vim'
    Plug 'ryanoasis/vim-devicons'
    " Plug 'SirVer/ultisnips'
    Plug 'honza/vim-snippets'
    Plug 'scrooloose/nerdtree'
    Plug 'preservim/nerdcommenter'
    Plug 'mhinz/vim-startify'
    Plug 'neoclide/coc.nvim', {'branch': 'release'}
    call plug#end()

现在,通过双击或单击+拖动鼠标来突出显示您的文本选择,右键单击然后弹出一个带有复制、粘贴等的迷你菜单。选择复制。

现在,1)单击鼠标中键,2)再次右键单击迷你菜单以选择粘贴,3)旧的固定选项 Ctrl+v 将在另一个 xfce4 终端中使用 nvim 在文本文件上执行粘贴操作,或使用 Ask Ubuntu 上的 Firefox 执行此操作。

是的,我看到了上面的帖子,我安装了 xsel 1.2.1-1。如果您需要我的整个 nvim/init.vim 配置文件,请告诉我。谢谢,Jono

答案3

您也可以通过在init.lua文件中添加以下行来实现此目的,如果您使用Lua 接口配置 Neovim:

vim.api.nvim_set_option("clipboard", "unnamed")

相关内容