当前位置: 首页 > news >正文

【vim进阶】vim编辑器的多文件操作(如何打开多个文件,如何进行文件间的切换,如何关闭其中的某一个文件)

一、如何打开多个文件?

方法一:启动打开

现在有多个文件 file1 ,file2 , … ,filen.

现在举例打开两个文件 file1,file2

vim file1 file2

该方式打开文件,显示屏默认显示第一个文件也就是 file1。

方法二:编辑中打开

在命令模式下使用edit指令

  • 打开一个文件可以通过: edit filename(或者简写为 e ) 。这里的文件名可以采用绝对路径或者是相对路径。

    :edit filename
    
  • 例如我们想打开项目中的基础配置文件lua/basic/settings.lua,就可以执行:e lua/basic/settings.lua。vim的命令模式是支持自动补全的,我们可以通过tab来快速补全路径。甚至可以在窗口中通过方向键手动选择路径。
    在这里插入图片描述

  • 假设现在已经打开了这个文件,我想打开它同级目录下的文件keybinds.lua 的话,我要同样的输入:edit lua/basic/keybinds.lua。本来我已经打开了与它同级目录中的 settings.lua 了,我为了打开keybinds.lua 要输入这么大一堆,如果我能以当前settings.lua 的路径作为相对路径就好了。

  • vim 在命令行中提供了一个 % 作为活动缓冲区的完整路径。我们在介绍批量替换文本的时候,%作为范围时表示当前打开的整个文本(详细内容点这里!)。这里它作为路径参数的话,表示的是当前打开文本的完整路径。

    :edit %<Tab>
    
  • 我们可以通过 :edit %<Tab> 来自动显示整个路径,然后通过<ctrl-w> 来删除单词,直到删除到当前目录,然后再输入keybinds.lua 就可以了

在这里插入图片描述

  • 用这种方法是简单了点,但是最后还要删除个文件名,上面我们按了3次 ,也挺麻烦的。有没有什么方法可以直接定位到对应的目录,让我直接输入文件名呢?可以通过 在%的后面加上:h 来自动去掉文件名,即输入:edit %:h 来自动出现对应的目录,然后直接输入文件名即可。
    :edit %:h<Tab>
    

二、如何进行文件间的切换?

  • 命令模式下,输入指令 ls ,屏幕上会出现打开的所有文件的序号和文件名。

    :ls
    

    上面的这个命令将会显示所有打开的文件。

  • 我们继续输入冒号 然后输入 bn (n指文件序号),即可切换到对应序号的文件。(当然也可以直接输入bn)

    :b2
    

    上面的这个命令将会在显示屏上显示第二个文件。


三、如何关闭其中的某一个文件?

  1. 先切换至要关闭的文件

  2. 在命令模式下输入指令bd即可关闭当前文件

    :bd
    

相关文章:

【vim进阶】vim编辑器的多文件操作(如何打开多个文件,如何进行文件间的切换,如何关闭其中的某一个文件)

一、如何打开多个文件&#xff1f; 方法一&#xff1a;启动打开 现在有多个文件 file1 &#xff0c;file2 , … ,filen. 现在举例打开两个文件 file1&#xff0c;file2 vim file1 file2该方式打开文件&#xff0c;显示屏默认显示第一个文件也就是 file1。 方法二&#xff…...

ToBeWritten之车辆通信

也许每个人出生的时候都以为这世界都是为他一个人而存在的&#xff0c;当他发现自己错的时候&#xff0c;他便开始长大 少走了弯路&#xff0c;也就错过了风景&#xff0c;无论如何&#xff0c;感谢经历 转移发布平台通知&#xff1a;将不再在CSDN博客发布新文章&#xff0c;敬…...

自定义 Jackson 的 ObjectMapper, springboot多个模块共同引用,爽

springboot多个模块共同引用自定义ObjectMapper &#x1f683;统一配置示例自定义 Jackson 的 ObjectMapper更改时区为东八区, 优点是在多个模块中都可以使用同一种方式来进行配置&#xff0c;方便维护和修改 统一配置 假设有一个 Spring Boot 项目&#xff0c;包含多个模块&…...

【面试】Redis面试题

文章目录概述什么是Redis&#xff1f;Redis有哪些优缺点&#xff1f;使用redis有哪些好处&#xff1f;为什么要用 Redis / 为什么要用缓存为什么要用 Redis 而不用 map/guava 做缓存?Redis为什么这么快Redis的应用场景持久化什么是Redis持久化&#xff1f;Redis 的持久化机制是…...

前端后端交互系列之原生Ajax的使用

目录前言一&#xff0c;Ajax概述二&#xff0c;基础知识之Http协议2.1 请求报文2.2 响应报文2.3 如何查看通信报文三&#xff0c;Ajax简单案例3.1 Express框架创建服务端3.2 Ajax案例后台准备3.3 Ajax案例前台准备3.4 发送get请求3.5 发送带有参数的Ajax请求3.6 发送post请求3.…...

openGauss 5.0企业版主从部署,实战狂飙

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…...

Vue中props组件和slot标签的区别

在 Vue 中&#xff0c;props 和 slot 都是组件之间进行通信的机制&#xff0c;它们的作用和应用场景有一些区别&#xff1a; props 是一种组件的数据传递机制&#xff0c;通过在父组件中以属性的形式向子组件传递数据。子组件接收这些数据&#xff0c;并可以进行相应的处理和渲…...

基于Windows下VSCode搭建Vue开发环境

一、准备工作 VSCode编辑器安装&#xff1a;https://code.visualstudio.com/Node.js安装&#xff1a;https://blog.csdn.net/qq_40197828/article/details/78302124VSCode插件安装&#xff1a;Vetur和ESlint 二、更换淘宝镜像源 更换镜像源命令&#xff1a;npm install -g c…...

Android开发 Dialog对话框 DatePickerDialog

1. AlertDialog AlertDialog是弹出的提醒对话框&#xff0c;有提示&#xff0c;确认&#xff0c;选择等功能。 没有公开的构造方法&#xff0c;一般用AlertDialog.Builder来完成参数设置&#xff0c;最后调用create方法创建。 参数设置常用的方法&#xff1a; 代码&#xff…...

开心档开发入门网之C++ Web 编程

C Web 编程什么是 CGI&#xff1f;公共网关接口&#xff08;CGI&#xff09;&#xff0c;是一套标准&#xff0c;定义了信息是如何在 Web 服务器和客户端脚本之间进行交换的。CGI 规范目前是由 NCSA 维护的&#xff0c;NCSA 定义 CGI 如下&#xff1a;公共网关接口&#xff08;…...

C# 和 VB .NET 的纯 FFmpeg 包装器:CSFFmpeg Crack

用于 C# 和 VB .NET 的纯 FFmpeg 包装器buildbuildpassingpassing releasereleasev1.0.3.0v1.0.3.0用于 C# 和 VB .NET Framework&#xff08;WinForm 和 WPF&#xff09;和 .NET Core 的纯 FFmpeg 包装器。 截图 主要 Winform 示例有据可查的例子目录&#xff1a; 关于截图好处…...

python外篇(序列化和非序列化)

目录 概念阐述 pickle json msgpack 概念阐述 序列化是指将对象转化为可存储或可传输的数据格式&#xff0c;例如将 Python 对象转化为二进制、JSON 或 XML 等格式&#xff0c;以便于将其存储到文件中或在网络上传输。在Python中&#xff0c;可以使用pickle、json、msgpac…...

Linux总结(二)

基础IO 1.什么叫文件? 我们需要在操作系统的角度理解文件。 文件 = 文件内容 + 属性(所以即使是空文件,也会占空间,因为我们是需要保存文件属性的,属性也是数据,所以占空间) C/C++程序默认会打开三个文件流,叫做标准输入(stdin),标准输出(stdout),标准错误(std…...

【4.1】Socket编程、TCP挥手

TCP连接断开 四次挥手 四次挥手过程 客户端发送FIN报文&#xff0c;客户端进入FIN_WAIT_1状态。 服务端接收报文&#xff0c;发送ACK报文&#xff0c;服务端进入CLOSE_WAIT状态。 客户端收到ACK报文&#xff0c;进入FIN_WAIT_2状态。 服务端处理完数据后&#xff0c;也发送…...

【竞赛经历】CSDN第41期竞赛题解

1 前言 本次的竞赛主要是最后一题&#xff0c;对于完全不懂珠算的人来说还是有点困难的&#xff0c;仅理解题目的意思就花了很多时间&#xff0c;最后侥幸拿了第一个前三。。。 2 题解 本次竞赛分为编程题部分和非编程题部分&#xff0c;其中非编程题部分比较简单。 2.1 非编…...

【Linux学习】信号——预备知识 | 信号产生 | 核心转储

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《Linux学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 信号&#x1f514;信号&#x1f3b5;预备知识&#x1f3b5;信号处理方法的注册&#x1f514;信号…...

2023中国程序员薪酬报告出炉,你拖后腿了吗?

程序员薪资高已是公认的事实&#xff0c;但是具体高到什么程度呢&#xff1f;近期&#xff0c;全球人力服务公司 Michael Page Internatioal 就发布了《2023 中国大陆薪酬报告》&#xff0c;揭示了中国程序员的薪酬情况。 该报告中一共调研了国内 7 个行业以及 6 大城市不同职…...

Mac下Python3安装及基于Idea开发

本篇文章带大家基于Mac OS操作系统&#xff0c;下载、安装Python环境&#xff0c;并基于Idea编写第一个Demo。 Python3安装 访问Python官网&#xff1a;https://www.python.org/。找到“Download”菜单&#xff0c;点击下载&#xff1a; 此处下载的为Mac的安装包&#xff0c…...

2017年 团体程序设计天梯赛——题解集

前言&#xff1a; Hello各位童学大家好&#xff01;&#x1f60a;&#x1f60a;&#xff0c;茫茫题海你我相遇即是缘分呐&#xff0c;或许日复一日的刷题已经让你感到疲惫甚至厌倦了&#xff0c;但是我们真的真的已经达到了我们自身极限了吗&#xff1f;少一点自我感动&#xf…...

“唯一靶点”的华堂宁会成控糖爆品吗?

一上市&#xff0c;两次“断货”的货华堂宁有爆品那味儿了。 2022年10月28日华领医药-B&#xff08;02552.HK&#xff09;公告华堂宁&#xff08;多格列艾汀&#xff09;正式进入商业化&#xff0c;一周后各个渠道便进入到了断货和限售的状态。 对于一个不在传统九大降糖药品…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...