vim 的基础使用

news2025/1/5 20:32:31

目录

  • 一:vim 介绍
  • 二:vim 特点
  • 三:vim 配置
  • 四:vim 使用
    • 1、vim 语法格式
    • 2、vim 普通模式
      • (1)保存退出
      • (2)光标跳转
      • (3)文本删除
      • (4)文本查找
      • (5)撤销操作
      • (6)可视化模式
    • 3、vim 命令模式
      • (1)保存退出
      • (2)set 命令
      • (3)搜索替换
    • 4、vim 编辑模式

一:vim 介绍

vim 是一个跨平台的交互式文本编辑工具,是vi编辑器的增强版,常用于Linux环境中对文本文件的内容进行增删查改;

二:vim 特点

  1. 属于交互式编辑工具,允许用户实时编辑文件内容

  2. 编辑文件时,会将该文件的内容全部加载到内存,在内存中完成修改后再写入

  3. 有三种工作模式,末行模式、命令模式和编辑模式,默认进入的是命令模式;

三:vim 配置

vim 有两种级别的配置文件,分别是用户级配置文件和系统全局配置文件;vim 配置文件中,使用 " 作为注释符号,注释内容不会被执行:

  • 用户级配置文件:只对当前用户生效,一般默认不存在,需要手动创建;

  • 系统级配置文件:针对所有用户生效;

查看配置文件优先级和路径:

# 例如
$ vim --version | grep vimrc
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"

四:vim 使用

1、vim 语法格式

vim  [filename]
  • 如果指定的文件 filename 存在,打开文件并显示其内容。

  • 如果指定的文件不存在,创建一个空白的缓冲区(buffer),将其命名为 filename,如果编辑后保存 (:w),文件将被创建并写入指定路径。

  • 直接执行 vim 而不指定文件名:vim 会打开一个空白缓冲区(buffer),没有关联的文件。可以进行文本的输入,但是保存的时候需要在命令行模式下指定文件名 :w filename

2、vim 普通模式

  • 打开某个文件时,默认就处于普通模式;

  • 命令模式下可以通过执行相关命令来对文本进行管理,但是输入的命令不会在界面有任何显示;

  • 命令模式下不能直接编辑文本,而是通过按键命令操作文件内容;

(1)保存退出

  • ZQ:直接退出vim编辑器,当前更改的内容不会被保存;

  • ZZ:保存当前对文本的修改,然后退出vim编辑器;

(2)光标跳转

  • ^(脱字符):跳转到光标所在行的,数字0也可以;

  • $:将光标跳转到光标所在行的行尾

  • gg:光标移动到文本的第一行

  • G:光标移动到文本的最后一行,前面加数字就是移动到指定行。

  • [num]G:跳转到指定行。例如 11G,表示将光标跳转到第11行

(3)文本删除

  • d0或d$:(删除到行尾)从光标处开始的内容一直到光标所在行的最后一个字符会被删除;

  • dd: 删除光标所在行的整行内容;

  • dG:删除从光标开始行到最后一行的内容;

(4)文本查找

  • /关键字: 向下搜索,

  • ?关键字:从当前光标位置向上搜索,n:向上 N:向下

(5)撤销操作

  • u:撤销当前操作

  • ctrl+r:取消撤销操作

(6)可视化模式

可视化模式的作用是用于选择文本块,进入可视化模式后,可以批量选择。

  • v:选择文本中的单个字符

  • v:选择整行文本

  • ctrl+v:选择文本的一个矩形区块

例如:批量注释行:

1、先将光标移动到指定行的第一行行首
在这里插入图片描述

2、输入ctrl+v 进入可视化模式
在这里插入图片描述
3、向下移动光标,选中希望操作的每一行的第一个字符
在这里插入图片描述
4、输入大写字母 I切换至插入模式(大写I 表示在当前光标所在行的行首输入)
在这里插入图片描述
5、输入 #
在这里插入图片描述
6、按 ESC 键返回到普通模式
在这里插入图片描述

3、vim 命令模式

命令模式也叫做末行模式,于执行文件操作和全局操作命令,例如保存、退出、搜索和替换等。

普通模式下按 : 可以进入末行模式,按 Esc 返回普通模式。

(1)保存退出

  • w:保存

  • q:退出

  • x:保存并退出

  • !:结合w q等命令使用,表示强制的意思

(2)set 命令

  • set nu:显示行号,set nonu:取消行号显示

  • set ai:自动缩进,set noai:取消自动缩进

  • set paste:复制文本内容到该文件时候,保留文件格式,set nopaste:取消格式保留

  • set list:显示不可见的字符。^I:表示tab键 $:表示回车

  • set ff=unix|dos:更改文本格式,unix就是linux格式,dos就是windows的格式

  • set fileencodings=utf-8,iso-8859-1:设置当前内容显示的编码格式

  • set fileencoding=utf-8:设置使用vim创建新文件时的编码格式;

(3)搜索替换

说明:分隔符 / 可以换为其它的,例如 s#xx#yy#

  • s/xx/yy/:将文本中光标所在行的第一个xx替换为yy

  • s/xx/yy/g:将文本中光标所在行的所有的xx替换为yy

  • %s/xx/yy/g:将文本中所有的xx都替换为yy,如果不加g,只会搜索

4、vim 编辑模式

编辑模式也叫做插入模式,用于直接对文本内容进行操作。

在普通模式下按 i、a、o 可以进入到编辑模式;

  • i:在当前光标位置前插入文本; I:在当前行的行首插入文本

  • a:在当前光标位置后插入文本;A:在当前行的行首插入文本

  • o:在当前行下方新建一行并插入文本;O:在当前行上方新建一行并插入文本

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

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

相关文章

为什么深度学习和神经网络要使用 GPU?

为什么深度学习和神经网络要使用 GPU? 本篇文章的目标是帮助初学者了解 CUDA 是什么,以及它如何与 PyTorch 配合使用,更重要的是,我们为何在神经网络编程中使用 GPU。 图形处理单元 (GPU) 要了解 CUDA,我们需要对图…

工厂模式与抽象工厂模式在Unity中的实际应用案例

一、实验目的 实践工厂模式和抽象工厂模式的实际应用。 创建一个小型的游戏场景,通过应用这些设计模式提升游戏的趣味性和可扩展性。 掌握在复杂场景中管理和使用不同类型的对象。 比较在实际游戏开发中不同设计模式的实际效果和应用场景。 学习如何进行简单的性…

jrc水体分类对水体二值掩码修正

使用deepwatermap生成的水体二值掩码中有部分区域由于被云挡住无法识别,造成水体不连续是使用jrc离线数据进行修正,jrc数据下载连接如下:https://global-surface-water.appspot.com/download 选择指定区域的数据集合下载如图: 使…

计算机网络 (20)高速以太网

一、发展背景 随着计算机技术和网络应用的不断发展,传统的以太网速率已逐渐无法满足日益增长的带宽需求。因此,高速以太网应运而生,它以提高数据传输速率为主要目标,不断推动着以太网技术的发展。 二、技术特点 高速传输&#xff…

基于SpringBoot的校园二手交易平台的设计与实现(源码+SQL+LW+部署讲解)

文章目录 摘 要1. 第1章 选题背景及研究意义1.1 选题背景1.2 研究意义1.3 论文结构安排 2. 第2章 相关开发技术2.1 前端技术2.2 后端技术2.3 数据库技术 3. 第3章 可行性及需求分析3.1 可行性分析3.2 系统需求分析 4. 第4章 系统概要设计4.1 系统功能模块设计4.2 数据库设计 5.…

2024年中国新能源汽车用车发展怎么样 PaperGPT(二)

用车趋势深入分析 接上文,2024年中国新能源汽车用车发展怎么样 PaperGPT(一)-CSDN博客本文将继续深入探讨新能源汽车的用车强度、充电行为以及充电设施的现状。 用车强度 月均行驶里程:2024年纯电车辆月均行驶超过1500公里&…

antd-vue - - - - - a-date-picker限制选择范围

antd-vue - - - - - a-date-picker限制选择范围 1. 效果展示2. 代码展示 1. 效果展示 如图&#xff1a;限制选择范围为 今年 & 去年 的 月份. 2. 代码展示 <template><a-date-picker:disabledDate"disabledDate"picker"month"/> &l…

滑动窗口、流量控制和拥塞控制

1. 确认应答机制 确认应答机制是计算机网络中&#xff0c;用于确保数据可靠传输的一种方法。 它通过发送 ACK 数据段来通知对方&#xff0c;每一个 ACK 数据段都有一个确认序号&#xff0c;表明&#xff1a; 确认序号之前的所有数据都已被接收&#xff0c;接下来从确认序号开…

TCP粘/拆包----自定义消息协议

今天是2024年12月31日&#xff0c;今年的最后一天&#xff0c;希望所有的努力在新的一年会有回报。❀ 无路可退&#xff0c;放弃很难&#xff0c;坚持很酷 TCP传输 是一种面向二进制的&#xff0c;流的传输。在传输过程中最大的问题是消息之间的边界不明确。而在服务端主要的…

前端,npm install安装依赖卡在sill idealTree buildDeps(设置淘宝依赖)

输入npm i后&#xff0c;一直卡在sill idealTree buildDeps&#xff0c;一动不动 cnpm可以安装成功&#xff0c;但使用cnpm不会生成package-lock.json文件 设置淘宝依赖&#xff0c;依然卡住&#xff0c;挂梯子也不行 解决方法&#xff1a; // 取消ssl验证 set strict-ssl …

【有作图代码】Highway Network与ResNet:skip connection如何解决深层网络欠拟合问题

【有作图代码】Highway Network与ResNet&#xff1a;skip connection如何解决深层网络欠拟合问题 关键词&#xff1a; #Highway Network #ResNet #skip connection #深层网络 #欠拟合问题 具体实例与推演 假设我们有一个深层神经网络&#xff0c;其层数为L&#xff0c;每一…

目标检测入门指南:从原理到实践

目录 1. 数据准备与预处理 2. 模型架构设计 2.1 特征提取网络原理 2.2 区域提议网络(RPN)原理 2.3 特征金字塔网络(FPN)原理 2.4 边界框回归原理 2.5 非极大值抑制(NMS)原理 2.6 多尺度训练与测试原理 2.7 损失函数设计原理 3. 损失函数设计 4. 训练策略优化 5. 后…

搭建开源版Ceph分布式存储

系统&#xff1a;Rocky8.6 三台2H4G 三块10G的硬盘的虚拟机 node1 192.168.2.101 node2 192.168.2.102 node3 192.168.2.103 三台虚拟机环境准备 1、配置主机名和IP的映射关系 2、关闭selinux和firewalld防火墙 3、配置时间同步且所有节点chronyd服务开机自启 1、配置主机名和…

租用服务器还是服务器托管:哪种方案更适合您?

随着企业对网络服务质量要求的不断提高&#xff0c;租用服务器和服务器托管是两种常见的选择&#xff0c;各自具备独特的优势和适用场景。这篇文章将从多个维度对这两种方案进行详细分析&#xff0c;帮助大家进行对比选择。 租用服务器的优劣势分析 优点 无需大额初始投入 租用…

LDD3学习6--Scull的变种

1 整体介绍 之前在LDD3学习1里面就提过scull的变种&#xff0c;LDD学习1--启程-CSDN博客&#xff0c;大概的变种有这些&#xff1a; 名称全名说明对应章节scullSimple Character Utility for Loading Localities基础版本3scullcScull with Slab cache使用基于slab高速缓存8.2.…

设计模式の状态策略责任链模式

文章目录 前言一、状态模式二、策略模式三、责任链模式 前言 本篇是关于设计模式中的状态模式、策略模式、以及责任链模式的学习笔记。 一、状态模式 状态模式是一种行为设计模式&#xff0c;核心思想在于&#xff0c;使某个对象在其内部状态改变时&#xff0c;改变该对象的行为…

【网络协议】路由信息协议 (RIP)

未经许可&#xff0c;不得转载。 路由信息协议&#xff08;Routing Information Protocol&#xff0c;简称 RIP&#xff09;是一种使用跳数&#xff08;hop count&#xff09;作为路由度量标准的路由协议&#xff0c;用于确定源网络和目标网络之间的最佳路径。 文章目录 什么是…

linux下安装达梦数据库v8详解

目录 操作系统、数据库 1、下载达梦数据库 2、安装前准备 2.1、建立数据库用户和组 2.2、修改文件打开最大数 2.3、挂载镜像 2.4、新建安装目录 3、数据库安装 4、配置环境变量 5、初始化数据库实例 6、注册服务 7、使用数据库 8、卸载数据库 9、多实例管理 10、…

小程序租赁系统的优势与应用探索

内容概要 小程序租赁系统&#xff0c;听起来很高大上&#xff0c;但实际上它比你想象的要实用得多&#xff01;设想一下&#xff0c;几乎所有的租赁需求都能通过手机轻松解决。这种系统的便捷性体现在让用户随时随地都能发起租赁请求&#xff0c;而不再受制于传统繁琐的手续。…

(leetcode算法题)​122. 买卖股票的最佳时机 II​ 和 123. 买卖股票的最佳时机 III

这两个题都可以进行转化&#xff0c;转换成等价问题求解 对于122的等价转换 求出所有能够赚钱的区间&#xff0c;这些区间满足一下特点 1. 首尾相接&#xff0c; 2. 区间末尾的值大于区间开头的值 3. 每个区间尽可能的小 新的问题只要用贪心的思想就能求得问题的解 只要求出上…