Linux的各种复制粘贴 - VIM、tmux、和终端之间的复制粘贴

简介: Linux的各种复制粘贴 - VIM、tmux、和终端之间的复制粘贴

Linux的各种复制粘贴。VIM、tmux、和终端之间的复制粘贴

环境为 Ubuntu 22.04 LTS

Vim

vim的剪贴板功能是寄存器(register),和系统剪贴板(system clipboard)不是一个东西。

确认版本

根据平台不同,要分两种情况。

which vim

可以看到当前使用的vim是哪个。用下面命令确定你属于哪一种情况,

vim --version | grep clipboard

vim --version可以看到当前使用的vim支持哪些feature,'+'前缀表示拥有的feature,'-'前缀表示未拥有。

如果找到的是负号开头的-clipboard,说明你的Vim不支持系统剪切板,需要先重新安装vim。如果结果里你找到加号开头的+clipboard,那么则没问题跳过重新安装那一步继续即可。

重新安装

-clipboard的情况,想要Vim跟系统剪切板交互则需要重新安装合适的版本。

Vim有很多版本。如果安装时直接用了vim名称

sudo apt install vim

那么安装的会是 vim-common 套件, 这个套件只会安装文字模式的 vim, 不会安装图形化版本的 Gvim。没有图形化版本的套件, 也不会加上 clipboard/xterm_clipboard 模组, 也就是无法让 vim 复制资料到系统剪贴板, 也无法从系统剪切板贴资料到 vim 中。

vim-gui-common是通用的图形化版本。建议手动指定安装。

vim-gtk/vim-gtk3是搭配gtk图形界面的软件版本。其中vim-gtk是GTK2版本。

一般情况下用 vim-gtk3即可。

apt list --installed | grep vim
sudo apt-get remove vim
sudo apt update
sudo apt install vim-gtk3

.vimrc

把Vim默认无名寄存器"" 和系统剪贴板关联

set clipboard=unnamed

在可视模式(-- VISUAL --)下,按Y键将当前内容复制到系统剪切板

vnoremap Y "+y

其他

如果不想要行号显示,可以使用:set nonu 关闭行号,使用:set nu 恢复行号。

说实话被vim剪贴板的事弄得一直不太满意。有点不想折腾了,直接装neovim吧。

tmux

tmux内部复制/粘贴文本的通用方式:

(1) 按下Ctrl + a后松开手指,然后按[

(2) 用鼠标左键长按选中文本,被选中的文本会被自动复制到tmux的剪贴板

(3) 按下Ctrl + a后松开手指,然后按],会将剪贴板中的内容粘贴到光标处。

另外,复制整个文件的文本,可以退出tmux来复制,用Linux终端下的方式复制。

退出 tmux

cat filename

终端

Linux终端下的复制方式:

(a)左键长按选中要复制的内容

​ 然后按ctrl+Ins复制 shift+Ins粘贴

(b)shift+鼠标左键长按选中

​ 然后按ctrl+Ins复制shift+Ins粘贴

(c)鼠标左键选中开头的若干字符

​ 按住Shift,同时鼠标左击要复制内容的末尾,此时会选中从开头到左键点击末尾位置的所有内容

​ 然后按ctrl+Ins复制shift+Ins粘贴

参考链接:

Vim 剪贴板里面的东西 粘贴到系统粘贴板
目录
相关文章
|
5月前
|
Linux 开发工具
LS-LINUX-001 Vim的使用方法
本文介绍了终端编辑器 Vim 的基础使用方法及 Linux 系统中 `systemctl` 命令的操作技巧。Vim 部分涵盖编辑模式与命令模式切换、常用编辑指令;`systemctl` 部分以 `dhcpcd` 服务为例,讲解了服务的启动、停止、重启、状态查询及开机自启设置等操作,适合初学者快速掌握系统管理技能。
114 13
|
6月前
|
安全 Linux 开发工具
【Linux】vim使用与配置教程
Vim是一款功能强大的文本编辑器,广泛应用于Linux环境,是开发者和系统管理员的必备工具。本文介绍了Vim的基本操作与简单配置,涵盖命令模式、插入模式和底行模式的使用方法,以及光标定位、复制粘贴、搜索替换等常用技巧。同时,文章还提供了实用的分屏操作和代码注释方法,并分享了通过`.vimrc`文件进行个性化配置(如显示行号、语法高亮、自动缩进等)的技巧,帮助用户提升文本编辑效率。掌握这些内容,能让Vim更好地服务于日常工作与开发需求。
433 3
|
4月前
|
Linux 网络安全 iOS开发
SecureCRT & SecureFX 9.6.3 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输
SecureCRT & SecureFX 9.6.3 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输
1237 4
SecureCRT & SecureFX 9.6.3 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输
|
6月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
1288 77
|
3月前
|
NoSQL Linux 开发工具
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
本文介绍了yum 包管理工具、Vim 编辑器、gcc/g++ 编译器、gdb 调试器、编译原理及 Makefile 的使用,同时还配备了如何使用,以及图解。旨在帮助读者更好地理解和应用这些工具与技术。
181 0
|
Unix Linux 开发工具
在Linux中,有哪些基本的 Vim 命令?
在Linux中,有哪些基本的 Vim 命令?
|
11月前
|
存储 运维 搜索推荐
|
11月前
|
Java Unix Linux
Linux vi/vim
Linux vi/vim
100 5
|
11月前
|
运维 Java Linux
Linux 下命令后台运行秘籍:无惧终端断开的魔法
本文详细介绍了在 Linux 系统下使命令不受终端断开影响、持续在后台运行的多种方法及其原理。包括使用 `nohup`、`setsid`、括号括起来、作业调度和 `screen` 等技巧,帮助读者提高工作效率,确保任务不被意外中断。
356 0
Linux 下命令后台运行秘籍:无惧终端断开的魔法
|
11月前
|
机器学习/深度学习 Linux 编译器
Linux入门3——vim的简单使用
Linux入门3——vim的简单使用
144 1