MacOs下解决远程终端内容复制并到本地粘贴板

常常需要在服务器上捣鼓东西,同时需要将内容复制到本地的需求。

1-内容是在远程终端用vim打开,如何用vim的类似指令达到快速复制到本地呢?

假设待复制的内容:

#include <iostream>
#include <cstring>
using namespace std;const int N = 1e3 + 10;int v[N], w[N];
int f[N][N];
int n, m;
int main() {cin >> n >> m;for (int i = 1; i <= n; ++i) cin >> v[i] >> w[i];for (int i = 1; i <= n; ++i) {for (int j = 1; j <= m; ++j) {f[i][j] = f[i-1][j];if (v[i] <= j)f[i][j] = max(f[i][j], f[i-1][j-v[i]] + w[i]);}}cout << f[n][m] << endl;return 0;
}

解决方案

配置vim

创建~/.vimrc并写入如下内容后使其生效:source ~/.vimrc。完成后就可以在vim里用v选择,y复制,然后本地正常粘贴即可

syntax on			"自动语法高亮
set number 			"显示行号
set cindent
set tabstop=4		"tab键,vim显示的空格数"
set shiftwidth=4	"缩进长度
set backspace=2		"允许退格键删除
set smartindent 	"开启新行时使用智能自动缩进
set showmatch 		"插入括号时,短暂地跳转到匹配的对应括号
set ruler 			"打开状态栏标尺
set mouse=a 		"在vim所有模式下开鼠标,复制文档就可以不包含行号了
set nocompatible	"不与vi兼容(采用vim自己的操作命令)"
set showmode		"在底部显示,当前处于命令模式还是插入模式"
set encoding=utf-8	"使用utf-8"" 函数:将寄存器内容发送到本地剪贴板
function! Osc52Yank()let buffer=system('base64 -w0', @0)let buffer=substitute(buffer, '\n$', '', '')let buffer='\e]52;c;'.buffer.'\a'silent call system('printf '.shellescape(buffer).' > /dev/tty')
endfunction" 自动在复制后调用
augroup Osc52Yankautocmd!autocmd TextYankPost * if v:event.operator ==# 'y' | call Osc52Yank() | endif
augroup END

这个方法成功的前提是你的本地终端工具要支持Osc52Yank以及允许终端应用访问剪切板,支持的终端列表参考[1]。
在这里插入图片描述

2-想复制的是某个命令或输出在终端上的内容,同时不想用鼠标?

假设在tmux里面,为了使得复制到本地的功能像上述般丝滑,需要配置tmux。

解决方案

配置tmux

创建 ~/.tmux.conf 并写入下面内容[2]后使其生效 tmux source ~/.tmux.conf,然后就可以ctrl + b [ 进入tmux选择模式,后面和上述vim类型,v选择,y复制退出选择模式,然后无痛粘贴即可


set -g mode-keys vi# 增加历史缓冲区
set -g history-limit 100000# 进入copy-mode
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind-key -T copy-mode-vi Escape send-keys -X cancelbind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -selection clipboard"
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -selection clipboard"set -g mouse on# 优化翻页键
bind-key -T copy-mode-vi C-f send-keys -X page-down
bind-key -T copy-mode-vi C-b send-keys -X page-up
bind-key -T copy-mode-vi C-d send-keys -X halfpage-down
bind-key -T copy-mode-vi C-u send-keys -X halfpage-upset-option -g set-clipboard on
set-option -ga terminal-overrides ',xterm-*:clipboard'

这个方法成功的前提和上述类似。

参考

[1] https://github.com/ojroques/vim-oscyank
[2] 终端神器tmux:多任务管理大师

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/79006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 vs ESP32:如何选择最适合你的单片机?

引言 在嵌入式开发中&#xff0c;STM32 和 ESP32 是两种最热门的微控制器方案。但许多开发者面对项目选型时仍会感到困惑&#xff1a;到底是选择功能强大的 STM32&#xff0c;还是集成无线的 ESP32&#xff1f; 本文将通过 硬件资源、开发场景、成本分析 等多维度对比&#xf…

【blender小技巧】Blender导出带贴图的FBX模型,并在unity中提取材质模型使用

前言 这其实是我之前做过的操作&#xff0c;我只是单独提取出来了而已。感兴趣可以去看看&#xff1a;【blender小技巧】使用Blender将VRM或者其他模型转化为FBX模型&#xff0c;并在unity使用&#xff0c;导出带贴图的FBX模型&#xff0c;贴图材质问题修复 一、导出带贴图的…

如何保证本地缓存和redis的一致性

1. Cache Aside Pattern&#xff08;旁路缓存模式&#xff09;​​ ​核心思想​&#xff1a;应用代码直接管理缓存与数据的同步&#xff0c;分为读写两个流程&#xff1a; ​读取数据​&#xff1a; 先查本地缓存&#xff08;如 Guava Cache&#xff09;。若本地未命中&…

k8s通过service标签实现蓝绿发布

k8s通过service标签实现蓝绿发布 通过k8s service label标签实现蓝绿发布方法1:使用kubelet完成蓝绿切换1. 创建绿色版本1.1 创建绿色版本 Deployment1.2 创建绿色版本 Service 2. 创建蓝色版本2.1 创建蓝色版本 Deployment2.2 创建蓝色版本 Service 3. 创建蓝绿切换SVC (用于外…

智慧酒店企业站官网-前端静态网站模板【前端练习项目】

最近又写了一个静态网站&#xff0c;智慧酒店宣传官网。 使用的技术 html css js 。 特别适合编程学习者进行网页制作和前端开发的实践。 项目包含七个核心模块&#xff1a;首页、整体解决方案、优势、全国案例、行业观点、合作加盟、关于我们。 通过该项目&#xff0c;小伙伴们…

Epplus 8+ 许可证设置

Epplus 8 之后非商业许可证的设置变了如果还用普通的方法会报错 Unhandled exception. OfficeOpenXml.LicenseContextPropertyObsoleteException: Please use the static ‘ExcelPackage.License’ property to set the required license information from EPPlus 8 and later …

CST1016.基于Spring Boot+Vue高校竞赛管理系统

计算机/JAVA毕业设计 【CST1016.基于Spring BootVue高校竞赛管理系统】 【项目介绍】 高校竞赛管理系统&#xff0c;基于 DeepSeek Spring AI Spring Boot Vue 实现&#xff0c;功能丰富、界面精美 【业务模块】 系统共有两类用户&#xff0c;分别是学生用户和管理员用户&a…

2025年第十六届蓝桥杯省赛C++ 研究生组真题

2025年第十六届蓝桥杯省赛C 研究生组真题 1.说明2.题目A&#xff1a;数位倍数&#xff08;5分&#xff09;3.题目B&#xff1a;IPv6&#xff08;5分&#xff09;4.题目C&#xff1a;变换数组&#xff08;10分&#xff09;5.题目D&#xff1a;最大数字&#xff08;10分&#xff…

空调开机启动后发出噼里啪啦的异响分析与解决

背景 当空调使用时由于制冷或制热运转时&#xff08;关机后可能也会出现&#xff09;&#xff0c;塑料件热胀冷缩引起&#xff0c;可能会出现“咔咔”的声音&#xff1b;空调冷媒在空调内管路流动时会出现轻微的“沙沙”的声音&#xff1b;也有可能是新装的空调摆风轴出现响声…

BERT、T5、ViT 和 GPT-3 架构概述及代表性应用

BERT、T5、ViT 和 GPT-3 架构概述 1. BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09; 架构特点 基于 Transformer 编码器&#xff1a;BERT 使用多层双向 Transformer 编码器&#xff0c;能够同时捕捉输入序列中每个词的左右上下文信息…

选导师原理

总述 一句话总结&#xff1a;是雷一定要避&#xff0c;好的一定要抢。方向契合最好&#xff0c;不契合适当取舍。 首先明确自身需求&#xff1a; 我要学东西&#xff01;青年导师&#xff0c;好沟通&#xff0c;有冲劲&#xff0c;高压力。 我要摆烂&#xff01;中老年男性教…

【过程控制系统】PID算式实现,控制系统分类,工程应用中控制系统应该注意的问题

目录 1-1 试简述过程控制的发展概况及各个阶段的主要特点。 1-2 与其它自动控制相比&#xff0c;过程控制有哪些优点&#xff1f;为什么说过程控制的控制过程多属慢过程&#xff1f; 1-3 什么是过程控制系统&#xff0c;其基本分类是什么&#xff1f; 1-4 何为集散控制系统…

2025年第十六届蓝桥杯省赛真题解析 Java B组(简单经验分享)

之前一年拿了国二后&#xff0c;基本就没刷过题了&#xff0c;实力掉了好多&#xff0c;这次参赛只是为了学校的加分水水而已&#xff0c;希望能拿个省三吧 >_< 目录 1. 逃离高塔思路代码 2. 消失的蓝宝思路代码 3. 电池分组思路代码 4. 魔法科考试思路代码 5. 爆破思路…

JAVA EE_文件操作和IO

人们大多数时候的焦虑&#xff0c;大概是太想要一个那不确定的答案了吧。 一一 陳長生. 1.认识文件 现实中&#xff0c;我们把一张一张有内容的纸整合在一起称为文件&#xff0c;计算机中&#xff0c;通过硬盘这种I/O设备进行数据保存时&#xff0c;它会独立成一个一个的单位保…

UNITY 屏幕UI自适应

1.主要就是根据屏幕的选择根据尺寸 和UI的锚点和中心点来选择&#xff0c;也可以通过代码来动态修改 2.参考视频&#xff1a;Unity UGUI屏幕自适应看这个就够了_哔哩哔哩_bilibili

05-RabbitMQ 面试题-mk

文章目录 1.RabbitMQ 核心组件及功能详解2.RabbitMQ-如何保证消息不丢失?3.RabbitMQ消息的重复消费问题如何解决的?4.RabbitMQ中死信交换机 ? (RabbitMQ延迟队列有了解过嘛)5.RabbitMQ如果有100万消息堆积在MQ , 如何解决(消息堆积怎么解决)6.RabbitMQ的高可用机制有了解过嘛…

产品需求设计评审会:三步精准定位需求核心

“不谋全局者&#xff0c;不足谋一域&#xff1b;不谋万世者&#xff0c;不足谋一时。”——陈澹然 强调了从全局和长远的角度去谋划事情的重要性&#xff0c;与产品设计中先从宏观层面定位需求&#xff0c;而不是陷入细节的理念相契合。 今日清晨&#xff0c;我参加了一场产品…

java中常用的集合 - 面试篇

HashMap 一、基础常量以及结构 //数组默认初始容量static final int DEFAULT_INITIAL_CAPACITY 1 << 4; // aka 16//数组容量最大值static final int MAXIMUM_CAPACITY 1 << 30;//默认扩容因子static final float DEFAULT_LOAD_FACTOR 0.75f;//链表长度阈值 树…

PDF解析示例代码学习

以下是结合多种技术实现的PDF解析详细示例&#xff08;Python实现&#xff09;&#xff0c;涵盖文本、表格和扫描件处理场景&#xff1a; 一、环境准备与依赖安装 # 核心依赖库 pip install pdfplumber tabula-py pytesseract opencv-python mysql-connector-python 二、完整…

Docker容器网络与NAT

一、背景 之前分享关于NAT网络地址转换的相关文章&#xff0c;docker中的网络正好使用到了NAT&#xff0c;顺带着把这个分享一下&#xff0c;分析docker容器的网络数据包流出、数据流入原理分析。 知识回顾: docker运行一个容器之后&#xff0c;会给这个容器一个独立的netns网络…