Vim多文件操作
Vim多文件编辑的实际意义在于它极大地提高了开发者在处理多个相关文件时的效率和便利性。在软件开发、文本编辑、代码审查、配置管理等场景中,经常需要同时打开和操作多个文件。Vim的多文件编辑功能使得这些任务变得更加直观和高效。
-
提高编码效率:在开发过程中,经常需要同时查看和编辑多个相关的源文件,如头文件和实现文件。Vim允许你轻松地同时打开这些文件,并在它们之间快速切换,无需每次都打开新的Vim实例或手动关闭当前文件。
-
方便代码审查:在代码审查或合并代码时,你可能需要同时查看修改前后的文件内容。Vim的多文件编辑功能使得你可以轻松地并排比较这些文件,或者在一个Vim实例中打开多个修订版本,以便快速审查更改。
-
配置文件管理:在系统或应用配置管理中,经常需要编辑多个配置文件。Vim的多文件编辑功能使得你可以同时打开并编辑这些文件,从而快速地在它们之间查找和替换相同的设置或选项。
-
编写文档:在编写包含多个部分的文档(如书籍、论文、技术手册等)时,Vim的多文件编辑功能允许你同时打开并编辑文档的各个章节,从而在保持整体文档结构的同时,轻松地在不同部分之间切换。
-
支持多窗口视图:Vim的多窗口(split和vsplit)功能允许你在一个Vim实例中同时查看多个文件的视图。这对于比较文件、复制粘贴代码片段或在不同文件之间快速引用非常有用。
-
利用缓冲区列表:Vim的缓冲区列表(通过
:ls命令查看)记录了所有打开的文件。这使得你可以轻松地找到并切换回之前编辑过的文件,即使它们已经不在当前窗口中显示。 -
插件和扩展的支持:Vim的强大之处还在于其丰富的插件和扩展生态系统。许多插件都支持或增强了Vim的多文件编辑功能,提供了更多自定义和自动化的选项。
文章目录
- 一. 打开多个文件
- 1 Vim未启动时
- 2 Vim已启动时
- 二. 打开文件的高级用法
- 三. 同时显示多个文件
- 1 分割窗口
- 2 查看缓存
- 四. 在文件之间切换
- 1 文件间切换
- 2 窗格间切换
- 五. 多文档编辑命令
- 六. 多文件切换技巧
一. 打开多个文件
1 Vim未启动时
在终端里输入以下命令可以一次性打开多个文件:
vim file1 file2 ... filen
2 Vim已启动时
在Vim已经启动的情况下,可以通过以下命令打开新的文件:
:open file或简写为:o file(注意:标准Vim命令中更常用的是:e):e ../myFile.pl打开指定路径下的文件
二. 打开文件的高级用法
vim 文档名普通方式打开文档vim +n 文档名打开文档后,定位到第n行- 进入Vim界面后,使用
:e 文档名打开另一个文档,可以在编辑一个文档的同时打开另一个文档
三. 同时显示多个文件
1 分割窗口
:split或简写:sp水平分割窗口:vsplit或简写:vsp垂直分割窗口
2 查看缓存
:ls显示当前打开的缓冲区(文件)列表
四. 在文件之间切换
1 文件间切换
Ctrl+6或:bn切换到下一个文件:bp切换到上一个文件- 注意:对于用(v)split在多个窗格中打开的文件,上述方法只会在当前窗格中切换不同的文件
2 窗格间切换
Ctrl+w+方向键或Ctrl+w+h/j/k/l切换到前/下/上/后一个窗格Ctrl+ww依次向后切换到下一个窗格
五. 多文档编辑命令
:n编辑下一个文档:2n编辑下两个文档:N编辑上一个文档(注意:仅用于同时打开多个文档):e 文档名在Vim中打开其他文档:e#或Ctrl+^编辑上一个文档,用于两个文档相互交换编辑:files、:buffers或:ls列出当前缓冲区中的所有文档:b 文档名或编号切换到指定编号或名称的文档:f或Ctrl+g显示当前正在编辑的文档名称:f 檔名改变当前编辑的文档名(注意:这里的“檔名”应为文件名,可能因地区习惯不同而有所差异)
六. 多文件切换技巧
- 使用
:ls查看当前打开的buffer(文件) - 使用
:b num切换文件,其中num为buffer list中的编号
通过以上方法,你可以在Vim中高效地管理多个文件,提升你的编辑效率。
相关文章:
Vim多文件操作
Vim多文件编辑的实际意义在于它极大地提高了开发者在处理多个相关文件时的效率和便利性。在软件开发、文本编辑、代码审查、配置管理等场景中,经常需要同时打开和操作多个文件。Vim的多文件编辑功能使得这些任务变得更加直观和高效。 提高编码效率:在开发…...
【ARM+Codesys 客户案例 】 基于RK3568/A40i/STM32+CODESYS在智能制造中的应用案例:全自动切片机器人
蔬菜是人们日常生活必不可缺的食品,并且食用方法多种多样。自步入小康社会以来,人们的生活节奏越来越快,很多传统服务已不能满足人们的物质需求和生活节奏。日常生活中通过手工快速切菜严重地威胁着人身安全,切菜时间过长或切菜不…...
NSI程序打包脚本文件编写教程
引言 NSIS (Nullsoft Scriptable Install System) 是一个专业开源的制作 windows 安装程序的工具。我们通过HM NSIEDIT编写好脚本、编译即可生成exe安装包。安装过程中可以配置其安装包图标、名称、出版人、网站等。此外,还可以设置程序开机自启动、管理员权限运行…...
[LitCTF 2023]1zjs
很有意思的一道题,打开题目环境之后F12可以看到 点击那个蓝色下划线的就能看到: 然后访问: /fk3f1ag.php就可以看到: 然后将这些复制到控制台然后回车就能得到flag。...
MCU复位RAM会保持吗,如何实现复位时变量数据保持
在使用MCU时,通常大家默认MCU复位时RAM会被复位清零,那实际MCU复位时RAM是什么状态?如何让mcu复位时RAM保持不变呢? MCU复位有电源复位、Standby复位、内核复位、看门狗复位、引脚复位等。 其中内部会有掉电动作的复位有电源复位…...
解决window 端口的占用问题
netstat -nao | findstr "5554" taskkill -pid 5076 -f 本文资料来自 https://cloud.tencent.com/developer/article/1703982...
【Datawhale AI夏令营第四期】 浪潮源大模型应用开发方向笔记 Task04 RAG模型 人话八股文Bakwaan_Buddy项目创空间部署
【Datawhale AI夏令营第四期】 浪潮源大模型应用开发方向笔记 Task04 RAG模型 人话八股文Bakwaan_Buddy项目创空间部署 什么是RAG: 我能把这个过程理解为Kimi.ai每次都能列出的一大堆网页参考资料吗?Kimi学了这些资料以后,根据这里面的信息综…...
PyTorch 基础学习(10)- Transformer
系列文章: 《PyTorch 基础学习》文章索引 介绍 Transformer模型是近年来在自然语言处理(NLP)领域中非常流行的一种模型架构,尤其是在机器翻译任务中表现出了优异的性能。与传统的循环神经网络(RNN)不同&a…...
mybatis-plus使用
目录 1. 快速开始 1. 创建user表 2. 插入几条数据 3. 创建一个新的springboot项目 4. 导入mybatis-plus依赖 5. 在配置文件中进行配置 6. 编写实体类 7. 编写Mapper 接口类 8. 添加 MapperScan 注解 9. 测试 编辑2. CRUD 1. 插入一条语句 2. 根据主键id删除一条记录 3. 根据…...
ant-design-vue快速上手指南及排坑攻略
前言 ant-design-vue是Ant Design的Vue实现,旨在为Vue用户提供一套企业级的UI设计语言。本文将带你快速上手ant-design-vue,并在实践中分享一些常见的坑及解决方法。遵循本文档,让你轻松搭建优雅的Vue应用。 一、环境准备 在开始之前&…...
【GitLab】使用 Docker 安装 3:gitlab-ce:17.3.0-ce.0 配置
参考阿里云的教程docker的重启 sudo systemctl daemon-reload sudo systemctl restart docker配置 –publish 8443:443 --publish 8084:80 --publish 22:22 sudo docker ps -a 當容器狀態為healthy時,說明GitLab容器已經正常啟動。 root@k8s-master-pfsrv:~...
多线程(4)——单例模式、阻塞队列、线程池、定时器
1. 多线程案例 1.1 单例模式 单例模式能保证某个类在程序中只存在唯一一份实例,不会创建出多个实例(这一点在很多场景上都需要,比如 JDBC 中的 DataSource 实例就只需要一个 tip:设计模式就是编写代码过程中的 “软性约束”&am…...
告别电量焦虑,高性能65W PD快充芯片HUSB380A打造梦中情【头】
市面上的充电器越来越卷,让人眼花缭乱。压力同样也给到了快充芯片行业,要在激烈的市场竞争中脱颖而出,快充芯片必须集高功率、高性价比与广泛的兼容性等于一身。 基于此,慧能泰推出了新一代高性能PD Source产品——HUSB380A。 图…...
vulnhub靶场 — NARAK
下载地址:https://download.vulnhub.com/ha/narak.ova Description:Narak is the Hindu equivalent of Hell. You are in the pit with the Lord of Hell himself. Can you use your hacking skills to get out of the Narak? Burning walls and demons are around every cor…...
RabbitMQ如何保证消息不丢失
RabbitMQ消息丢失的三种情况 第一种:生产者弄丢了数据。生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能。 第二种:RabbitMQ 弄丢了数据。MQ还没有持久化自己挂了。 第三种…...
(亲测有效)SpringBoot项目集成腾讯云COS对象存储(1)
目录 一、腾讯云对象存储使用 1、创建Bucket 2、使用web控制台上传和浏览文件 3、创建API秘钥 二、代码对接腾讯云COS(以Java为例) 1、初始化客户端 2、填写配置文件 3、通用能力类 文件上传 测试 一、腾讯云对象存储使用 1、创建Bucket &am…...
无人机之故障排除篇
一、识别故障 掌握基本的无人机系统知识,遵循“先易后难、先外后内、先软件后硬件”的原则进行故障识别。一旦发现故障,立即停止飞行,避免进一步损坏。 二、机械部件维修 对于机身裂痕、螺旋桨损坏等情况,根据损坏程度更换相应部…...
深入理解Python常见数据类型处理
目录 概述数字类型 整数(int)浮点数(float)复数(complex) 字符串(str) 字符串基本操作字符串方法 列表(list) 列表基本操作列表方法列表推导式 元组…...
最佳实践:CI/CD交付模式下的运维展望丨IDCF
李洪锋 启迪万众数字技术(广州)有限公司 ,产品研发中心-系统运维部、研发效能(DevOps)工程师(中级)课程学员 一、DevOps现状 据云计算产业联盟《中国DevOps现状调查报告2023》显示,国内DevOps 落地成熟度…...
Flat Ads:开发者如何应对全球手游市场的洗牌与转型
2023年下半年至2024年上半年,中国手游的海外市场表现经历了显著变化,开发者要如何应对全球手游市场的洗牌与转型?本篇文章我们将结合相关行业白皮书的最新数据对中国手游出海表现进行分析与洞察。 一、中国手游海外市场表现 根据Sensor Tower《2024年海外手游市场洞察》最新…...
别再为Allegro导图发愁了!手把手教你用RATA工具搞定BMP单色图转换(附像素调整避坑指南)
Allegro图片导入难题终极指南:从原理到实战的完整解决方案 在PCB设计领域,Allegro作为行业标杆工具,却有一个让无数工程师头疼的"阿喀琉斯之踵"——图片导入功能。无论是公司Logo、结构示意图还是特殊标识,当我们需要将…...
LLaMA-Omni代码贡献指南:如何参与这个开源语音AI项目
LLaMA-Omni代码贡献指南:如何参与这个开源语音AI项目 【免费下载链接】LLaMA-Omni LLaMA-Omni is a low-latency and high-quality end-to-end speech interaction model built upon Llama-3.1-8B-Instruct, aiming to achieve speech capabilities at the GPT-4o l…...
网络异常排查:快速定位域连接问题
问题描述与初步排查网络位置异常通常表现为计算机无法正确识别当前所在的AD域环境,导致访问域资源受限或登录问题。常见症状包括系统托盘显示“无法访问域”、组策略无法应用、DNS解析失败等。检查计算机是否能够ping通域控制器的主机名和IP地址。使用nslookup命令验…...
Windows环境下Jaeger全链路监控系统搭建指南
1. 为什么需要全链路监控系统 在微服务架构中,一个用户请求可能会经过多个服务的处理。想象一下,你在电商网站下单时,这个操作会触发订单服务、支付服务、库存服务等多个系统的协同工作。当出现问题时,传统的日志排查就像在迷宫里…...
告别手动启动:教你写一个ROS2 Launch文件,一键运行robot_state_publisher和rviz2显示URDF
ROS2高效开发指南:用Launch文件一键启动机器人可视化系统 每次调试URDF模型都要重复输入一堆命令?手动启动robot_state_publisher、joint_state_publisher和rviz2节点不仅浪费时间,还容易遗漏参数。本文将带你深度掌握ROS2 Launch文件的编写…...
微信小程序蓝牙打印中文乱码?手把手教你GBK编码转换(附完整Demo)
微信小程序蓝牙打印中文乱码终极解决方案:从编码原理到完整实现 蓝牙打印机在零售、餐饮等行业的应用越来越广泛,而微信小程序作为轻量级应用平台,与蓝牙打印机的结合为商家提供了便捷的移动打印方案。但在实际开发中,开发者经常会…...
Stable Yogi Leather-Dress-Collection 一键部署教程:基于Ubuntu的快速环境搭建
Stable Yogi Leather-Dress-Collection 一键部署教程:基于Ubuntu的快速环境搭建 最近在折腾AI图像生成,发现了一个挺有意思的模型叫Stable Yogi Leather-Dress-Collection。听名字就知道,它特别擅长生成皮革、连衣裙这类时尚单品的设计图。对…...
163MusicLyrics:双平台歌词提取的终极解决方案
163MusicLyrics:双平台歌词提取的终极解决方案 【免费下载链接】163MusicLyrics Windows 云音乐歌词获取【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 你是否曾为寻找一首心爱歌曲的完整歌词而辗转多个平台…...
Unity坐标系实战解析:从localPosition到Position的层级关系与应用场景
1. 理解Unity中的坐标系基础 在Unity开发中,坐标系系统是构建3D世界的基石。很多新手开发者容易混淆localPosition和Position的概念,导致物体位置控制出现各种"灵异现象"。我们先从一个生活场景来理解:想象你站在客厅里(…...
协议数采网关在智慧水务场景中的应用与功能
水资源管理作为生态文明建设的关键组成部分,其重要性不言而喻。在智慧水务建设不断深化的当下,水质监测、水量调度以及设备运维等各个环节,都对智能化水平提出了更为严苛的要求。然而,当前水务行业面临着诸多难题,监测…...
