Termius ssh连接服务器 vim打开的文件无法复制问题

你的问题是:
• 在 Termius (macOS) SSH 连接到 VMware Ubuntu,使用 vim 打开 .cpp 文件时,可以复制文本;
• 但在 Windows 10 上 SSH 到 VMware 的 Red Hat 6.4 时,复制操作无效。

🎯 初步分析

复制问题通常与以下几个因素有关:

分类 可能原因
终端设置 vim 是否在 兼容模式、鼠标模式、屏幕缓冲区切换模式
SSH 工具 Windows 使用的 SSH 客户端(比如 cmd/PowerShell 的 ssh.exe、PuTTY、Termius、Mobaxterm 等)行为不同
操作系统 Red Hat 6.4 很旧,vim 版本和终端设置也可能落后或缺失支持
vim 配置 是否启用了 mouse=a,这会拦截鼠标选择,导致无法复制

✅ 快速排查和解决步骤

🧪 1. 检查 vim 是否启用了鼠标模式

在 Red Hat 上 SSH 后,打开 .cpp 文件时尝试以下操作:

输入命令:

:set mouse?

输出是 mouse=a 表示启用了鼠标模式,鼠标选择会被 Vim 接管,导致你不能复制。

✅ 临时关闭鼠标模式:

:set mouse=

现在你应该能用鼠标选中并复制了。

或永久关闭鼠标模式(编辑你的 .vimrc):

echo “set mouse=” >> ~/.vimrc

🧪 2. 检查终端是否支持复制(Windows)

如果你用的是 Windows Terminal + ssh:
• 鼠标选择 + Ctrl+C 复制应该正常;
• 但如果 Vim 进入 全屏模式(alternate screen buffer),你复制的是“空”;
• 临时退出 Vim,复制内容,再回到 Vim;
• 或者用 set mouse= 禁用鼠标行为(上面已经说了);
• 或者在 .vimrc 加上:

set t_ti= t_te= " 禁用屏幕缓冲区切换

如果你用的是 PuTTY:
• 默认是右键复制、Shift+Insert 粘贴;
• 如果 Vim 启用了鼠标模式,也无法复制;

🛠 建议配置 .vimrc (适配远程开发和复制)

set mouse= " 禁用鼠标模式,方便复制
set number " 显示行号
syntax on " 开启语法高亮
set clipboard=unnamedplus " 如果有支持系统剪贴板

⚠️ 注意:clipboard=unnamedplus 在老旧系统(如 Red Hat 6.4)可能不支持。

✅ 最终建议
• macOS + Termius 正常 是因为 Termius 支持 macOS 原生剪贴板,Vim 没启用鼠标模式;
• Win10 + Red Hat 6.4 异常 是因为老系统 + 鼠标模式开启;
• 推荐禁用 vim 的鼠标模式或终端缓冲区切换,复制会恢复正常;
• 如果频繁开发,建议升级 VM 里的 Linux 系统或使用 VSCode Remote SSH 开发体验更好。

需要我帮你写一个 .vimrc 文件适配你两个环境的复制粘贴与开发?

下面是一个兼顾 复制粘贴流畅性 和 C++ 开发体验 的通用 .vimrc 配置,适配你的两种情况:
• ✅ macOS + Termius + Ubuntu(已正常复制)
• ✅ Windows 10 + SSH + Red Hat 6.4(解决复制问题)

✅ 推荐 .vimrc 配置

" — 基础设置 —
set nocompatible " 使用现代 Vim 行为
syntax on " 启用语法高亮
set number " 显示行号
set relativenumber " 相对行号(方便上下跳转)

" — 缩进与格式 —
set tabstop=4 " tab 显示为 4 空格
set shiftwidth=4 " >> << 的缩进为 4 空格
set expandtab " 用空格代替 tab
set autoindent " 自动缩进
set smartindent " 更智能的缩进方式

" — 鼠标/复制相关 —
set mouse= " ❗禁用鼠标模式,恢复鼠标选中复制
set ttymouse=xterm2 " 鼠标兼容模式(Windows 下更稳)
set t_ti= t_te= " ❗禁用 alternate screen,退出 Vim 时保留选中内容

" — 搜索相关 —
set ignorecase " 搜索忽略大小写
set smartcase " 有大写时仍区分大小写
set incsearch " 实时搜索
set hlsearch " 高亮搜索结果

" — 界面优化 —
set showcmd " 显示命令
set ruler " 显示光标位置
set cursorline " 高亮当前行
set encoding=utf-8 " 编码设置

" — 文件操作 —
set backup " 开启备份
set writebackup " 写入时备份
set undofile " 保留撤销历史

" — 快捷键示例(可选) —
" map :w:!g++ % -o %:r && ./%:r
" 上面这行绑定 F5 自动编译并运行 C++ 文件(如需)

📍 放置方式
1. 登录目标服务器(Ubuntu 和 Red Hat 都做):
2. 将上面内容保存到:

~/.vimrc

或你也可以直接运行(粘贴时别漏了引号):

cat < ~/.vimrc
<上面的配置内容>
EOF

✅ 效果说明

功能 效果
鼠标复制 不再被 Vim 接管,能正常选中复制
退出保留屏幕 不切换终端缓冲区,复制历史内容更稳定
缩进 + 高亮 + 行号 更适合写 C++
快捷键可自定义编译运行 可选绑定 F5 编译(g++)

如果你也使用 neovim(nvim),可以让我再帮你写一个 init.vim 或 Lua 版本。

是否要附带远程 C++ 编译运行快捷键或 LSP 支持配置?

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

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

相关文章

杨校老师项目之基于SSM与JSP的鲜花销售系统-【成品设计含文档】

基于SSMJSP鲜花商城系统 随着电子商务的快速发展&#xff0c;鲜花在线销售已成为一种重要的消费模式。本文设计并实现了一个基于JSP技术的鲜花销售管理系统&#xff0c;采用B/S架构&#xff0c;使用SSM框架进行开发&#xff0c;并结合Maven进行项目依赖管理。系统分为前台用户模…

集成学习——Bagging,Boosting

一.什么是集成学习 集成学习的基本思想是通过结合多个基学习器的预测结果&#xff0c;来提高模型的泛化能力和稳定性。这些基学习器可以是相同类型的算法&#xff0c;也可以是不同类型的算法。 当基学习器之间具有一定的差异性时&#xff0c;它们在面对不同的样本子集或特征子…

【笔试训练】给一个数组构建二叉树|从前序遍历与中序遍历构建二叉树|二叉树中的最大路径和

文章目录 1.给一个数组构建二叉树2.从前序遍历和中序遍历构建二叉树3.二叉树中的最大路径和 1.给一个数组构建二叉树 思路&#xff1a;就是借助一个队列实现层序遍历的思想。 先将root节点入队列&#xff0c;构造左右节点后&#xff0c;root取出来时&#xff0c;将其左右孩子都…

Swift实战:如何优雅地从二叉搜索树中挑出最接近的K个值

文章目录 摘要描述题解答案题解代码分析示例测试及结果时间复杂度空间复杂度总结未来展望 摘要 在日常开发中&#xff0c;我们经常会遇到“在一堆数据中找出最接近某个值”的需求。尤其在搜索引擎、推荐系统或者地理坐标匹配中&#xff0c;这种“最近匹配”的问题非常常见。Le…

Linux512 ssh免密登录 ssh配置回顾

下载MX 官网 参考 OK 登个tom试试 然后再计划登个RealServer 计划再用仅主机网卡试试 连不上 看来要通过JumpServer再联 通过网卡访问 被踢掉了 成功通过跳板机JumpServer登入到RealServer 方法一免密登录 现计划尝试方法二 只有1个tom 我连了两个tom 看来是根据IP划…

编译原理AST以Babel为例进行解读、Webpack中自定义loader与plugin

AST树详解 编译原理 主要研究如何将高级编程语言的源代码转换为机器能理解的目标代码&#xff08;通常是二进制代码或中间代码&#xff09;。编译器的底层实现通常包含多个阶段&#xff0c;包括词法分析、语法分析、语义分析和代码生成。 一、AST的核心概念与作用 AST&#…

51c大模型~合集127

我自己的原文哦~ https://blog.51cto.com/whaosoft/13905076 #Executor-Workers架构 图解Vllm V1系列2 本文详细介绍了vllm v1的Executor-Workers架构&#xff0c;包括Executor的四种类型&#xff08;mp、ray、uni、external_launcher&#xff09;及其适用场景&#xff…

《Effective Python》第1章 Pythonic 思维详解——深入理解流程控制中的解构利器match

《Effective Python》第1章 Pythonic 思维详解——深入理解流程控制中的解构利器match 引言 Python 3.10 引入了全新的 match 语句&#xff0c;它不仅是一个“类 switch”的语法结构&#xff0c;更是一种**结构化模式匹配&#xff08;structural pattern matching&#xff09…

Nacos源码—8.Nacos升级gRPC分析五

大纲 7.服务端对服务实例进行健康检查 8.服务下线如何注销注册表和客户端等信息 9.事件驱动架构源码分析 7.服务端对服务实例进行健康检查 (1)服务端对服务实例进行健康检查的设计逻辑 (2)服务端对服务实例进行健康检查的源码 (3)服务端检查服务实例不健康后的注销处理 (…

[手写系列]Go手写db — — 完整教程

[手写系列]Go手写db ZiyiDB是一个简单的内存数据库实现&#xff0c;支持基本的SQL操作&#xff0c;包含create、insert、delete、select、update、drop。目前一期暂支持int类型以及字符类型数据&#xff0c;后续会支持更多数据结构以及能力。本项目基于https://github.com/eato…

十三、动态对象创建(Dynamic Object Creation)

十三、动态对象创建&#xff08;Dynamic Object Creation&#xff09; 目录 13.1 对象创建&#xff08;Object creation&#xff09;13.2 new / delete 操作符13.3 数组的 new 与 delete13.4 总结 背景说明 有时候我们需要知道程序中对象的数量、类型和声明周期&#xff0c;…

一、网络基础

IPv4&#xff1a;32位二进制 -- 点分十进制标识 192.168.1.1&#xff08;连续的32位&#xff0c;为了好看方便每8位一段&#xff09; IPv6&#xff1a;128位二进制 IP&#xff08;Internet协议&#xff09; 洪泛&#xff1a;除流量进入接口外的所有接口的复制 OSI模型&#…

前端面试测试题目(一)

一、Vue的双向绑定机制&#xff08;v-model底层实现原理&#xff09; Vue的双向绑定核心由 响应式系统 和 指令语法糖 共同实现&#xff0c;具体原理如下&#xff1a; 响应式系统 Vue通过数据劫持和依赖收集实现数据变化到视图的同步&#xff1a; • 数据劫持&#xff1a;在Vue…

我用Deepseek + 亮数据爬虫神器 1小时做出輿情分析器

我用Deepseek 亮数据爬虫神器 1小时做出輿情分析器 一、前言二、Web Scraper API 实战&#xff08;1&#xff09;选择对应的URL&#xff08;2&#xff09;点击进入对应url界面&#xff08;3&#xff09;API结果实例和爬取结果展示&#xff08;4&#xff09;用户直接使用post请…

机器学习实战:归一化与标准化的选择指南

在机器学习实战中——是否需要归一化&#xff08;Normalization&#xff09;或标准化&#xff08;Standardization&#xff09;&#xff0c;取决于所使用的模型类型。 ✅ LightGBM / XGBoost 是否需要归一化或标准化&#xff1f; 不需要。 &#x1f527; 原因&#xff1a; L…

磁珠特点,原理与应用

什么是磁珠&#xff1f; 磁珠在1930年由日本东京工业大学的加藤与五郎和武井武两位教授发明&#xff0c;TDK首次生产&#xff0c;是电感的一种&#xff0c;区别就是&#xff1a;电感外面包裹着铁氧体材质。 因铁氧体具有高电阻率&#xff0c;低涡流损耗&#xff0c;高频时依旧…

【连载14】基础智能体的进展与挑战综述-多智能体系统设计

基础智能体的进展与挑战综述 从类脑智能到具备可进化性、协作性和安全性的系统 【翻译团队】刘军(liujunbupt.edu.cn) 钱雨欣玥 冯梓哲 李正博 李冠谕 朱宇晗 张霄天 孙大壮 黄若溪 在基于大语言模型的多智能体系统&#xff08;LLM-MAS&#xff09;中&#xff0c;合作目标和合…

React Native踩坑实录:解决NativeBase Radio组件在Android上的兼容性问题

React Native踩坑实录&#xff1a;解决NativeBase Radio组件在Android上的兼容性问题 问题背景 在最近的React Native项目开发中&#xff0c;我们的应用在iOS设备上运行良好&#xff0c;但当部署到Android设备时&#xff0c;进入语言设置和隐私设置页面后应用崩溃。我们遇到了…

[Windows] 网络检测工具InternetTest v8.8.2.2503 单文件版_支持查询IP_DNS_WIFI密码一键恢复

InternetTest&#xff08;详情请戳 官网 / 作者项目地址&#xff09;是一款免费开源的网络检测实用工具&#xff0c;其可实现监控、诊断互联网网络连接&#xff0c;例如进行 ping 测试、延迟测试、WiFi 密码查看、IP 地址或域名信息查询等算是搭建网站及服务器的实用维护工具。…

配置Hadoop集群-集群配置

以下是 Hadoop 集群的核心配置步骤&#xff0c;基于之前的免密登录和文件同步基础&#xff0c;完成 Hadoop 分布式环境的搭建&#xff1a; 1. 集群规划 假设集群包含 3 个节点&#xff1a; master&#xff1a;NameNode、ResourceManagerslave1&#xff1a;DataNode、NodeMana…