vim使用指南

news2025/1/16 14:11:29

🏝️专栏:计算机操作系统
🌅主页:猫咪-9527-CSDN博客 

“欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。”

目录

 一、Vim 的基本概念

1.Vim 的主要模式:

1.1普通模式 (Normal Mode)

1.2插入模式 (Insert Mode)

1.3命令模式 (Command Mode)

二、Vim 的基础操作

1. 文件打开与关闭

2. 普通模式操作

2.1 光标移动

2.1.1单字符移动

2.1.2括号匹配跳转

2.1.3屏幕滚动

2.1.4行内移动

2.1.5单词移动

2.2 文本删除

2.3 文本复制与粘贴

2.4 撤销与重做

2.5 替换

3. 插入模式操作

4. 命令模式操作

4.1 文件操作

4.2 搜索与替换

4.2.1搜索

4.2.2替换

5. 高级操作

5.1 多文件编辑

5.2 分屏

三、vim的配置


 一、Vim 的基本概念

        Vim 是一种强大的文本编辑器,支持模式化编辑。它主要通过 模式切换快捷键操作 来高效地编辑文本。

1.Vim 的主要模式

1.1普通模式 (Normal Mode)

操作:默认模式,进入 Vim 时即处于该模式,按 Esc 回到普通模式

作用:用于文件浏览、文本导航、删除、复制粘贴等操作。

1.2插入模式 (Insert Mode)

作用:用于文本输入。

操作:在普通模式下按 ia 进入,按 Esc 退出。

1.3命令模式 (Command Mode)

作用:用于执行保存、退出、搜索、替换等命令。

操作:在普通模式下按 : 进入,命令执行后会返回普通模式。


二、Vim 的基础操作

1. 文件打开与关闭

        打开文件

vim [文件名]

        例如:

vim text.c

2. 普通模式操作

普通模式是 Vim 最核心的模式,用于导航、删除、复制粘贴等操作。

2.1 光标移动

2.1.1单字符移动
  • h:向左移动一个字符。
  • l:向右移动一个字符。
  • j:向下移动一行。
  • k:向上移动一行。


2.1.2括号匹配跳转
  • %:在匹配的括号间跳转(适用于 ()[]{} 等结构)。

2.1.3屏幕滚动
  • Ctrl + d:向下滚动半屏。
  • Ctrl + u:向上滚动半屏。
  • Ctrl + f:向下滚动一屏。
  • Ctrl + b:向上滚动一屏。
  • :n:跳到第 n 行(如输入 :10 跳到第 10 行)。
  • gg:跳到文件的开头。
  • G:跳到文件的结尾。

2.1.4行内移动
  • 0:移动到当前行的行首。
  • ^:移动到行首第一个非空字符。
  • $:移动到行尾。

2.1.5单词移动
  • w:跳到下一个单词的开头。
  • e:跳到当前单词的结尾,或下一个单词的结尾。
  • b:跳到前一个单词的开头。
2.2 文本删除
  • x:删除当前字符。
  • dd:删除当前行。
  • dw:删除从光标位置到单词末尾。
  • d$:删除从光标位置到行尾。
  • d0:删除从光标位置到行首。
  • dgg:删除从光标到文件开头。
  • dG:删除从光标到文件结尾。
2.3 文本复制与粘贴
  • yy:复制当前行。
  • y:复制选定区域(可与可视模式结合)。
  • yw:复制从光标到单词末尾。
  • y$:复制从光标到行尾。
  • p:粘贴到光标后。
  • P:粘贴到光标前。
2.4 撤销与重做
  • u:撤销上一步操作。
  • Ctrl + r:重做撤销操作。
2.5 替换
  • r+单个字母:用 单个字母 替换当前字符。
  • R:进入替换模式,覆盖原文字。

3. 插入模式操作

在普通模式下,按以下键进入插入模式:

  • i:从光标前进入插入模式。
  • I:从行首进入插入模式。
  • a:从光标后进入插入模式。
  • A:从行尾进入插入模式。
  • o:在当前行下插入新行并进入插入模式。
  • O:在当前行上插入新行并进入插入模式。
  • 退出插入模式:按 Esc

4. 命令模式操作

在普通模式下,按 : 进入命令模式,可执行以下命令:

4.1 文件操作
  • :w 保存文件。
  • :q 退出文件。
  • :wq 保存并退出。
  • :q! 强制退出。
  • :sav new_filename 另存为。
4.2 搜索与替换
4.2.1搜索
  • /text:向下搜索 text
  • ?text:向上搜索 text
  • n:跳到下一个匹配项。
  • N:跳到上一个匹配项。
4.2.2替换
  • :s/old/new/:将当前行的第一个 old 替换为 new
  • :s/old/new/g:将当前行的所有 old 替换为 new
  • :%s/old/new/g:将整个文件中的 old 替换为 new
  • :%s/old/new/gc:替换前逐一确认。

5. 高级操作

5.1 多文件编辑
  • 打开多个文件:
    vim file1 file2 file3
    
  • 文件切换:

    • :n:下一个文件。

    • :prev:上一个文件。

    • :ls:列出已打开的文件。

    • :b n:切换到编号为 n 的文件。

5.2 分屏
  • 垂直分屏::vsplit filename

  • 水平分屏::split filename

  • 分屏切换:

    • Ctrl + w + h:切换到左侧窗口。

    • Ctrl + w + l:切换到右侧窗口。

    • Ctrl + w + j:切换到下方窗口。

    • Ctrl + w + k:切换到上方窗口。


三、vim的配置

详细请看:vim的配置

编辑 ~/.vimrc 文件可自定义 Vim。例如:

set number        " 显示行号
syntax on         " 开启语法高亮
set tabstop=4     " 设置 Tab 宽度为 4
set shiftwidth=4  " 设置自动缩进宽度为 4
set expandtab     " 用空格代替 Tab

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

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

相关文章

计算机网络 网络层 2

IP协议: Ip数据报的格式: 首部:分为固定部分 和 可变部分 固定部分是20B 版本:表明了是IPV4还是IPV6 首部长度:单位是 4B,表示的范围是(5~15)*4B 填充:全0,,让首部变…

干净卸载Windows的Node.js环境的方法

本文介绍在Windows电脑中,彻底删除Node.js环境的方法。 在之前的文章Windows系统下载、部署Node.js与npm环境的方法(https://blog.csdn.net/zhebushibiaoshifu/article/details/144810076)中,我们介绍过在Windows电脑中&#xff0…

《汽车维护与修理》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答: 问:《汽车维护与修理》是不是核心期刊? 答:不是,是知网收录的正规学术期刊。 问:《汽车维护与修理》级别? 答:国家级。主管单位:中国汽车维修行业协会 …

线性回归超详解

目录 一、回归问题 vs 分类问题 二、线性回归 1、一句话理解 2、数学推导 2.1 线性函数表示 2.2 损失函数 2.3 梯度下降 2.3.1 什么是梯度 2.3.2 梯度下降目标 2.3.3 过程 2.3.4 迭代公式 3、特征预处理 3.1 为什么要预处理 3.2 数据归一化方法 1)最小…

《无锡布里渊分布式光纤传感技术:照亮能源领域新征程》

在全球能源格局加速变革、能源需求持续攀升的当下,保障能源系统的安全、高效运行成为重中之重。分布式光纤传感技术宛如一颗璀璨的科技新星,正以前所未有的姿态融入能源领域,重塑着能源开采、运输与监测的传统模式。 石油与天然气作为现代工…

win32汇编环境,窗口程序中组合框的应用举例

;运行效果 ;win32汇编环境,窗口程序中组合框的应用举例 ;比如在窗口程序中生成组合框,增加子项,删除某项,取得指定项内容等 ;直接抄进RadAsm可编译运行。重点部分加备注。 ;以下是ASM文件 ;>>>>>>>>>>>>…

PHP智慧小区物业管理小程序

🌟智慧小区物业管理小程序:重塑社区生活,开启便捷高效新篇章 🌟 智慧小区物业管理小程序是一款基于PHPUniApp精心雕琢的智慧小区物业管理小程序,它犹如一股清新的科技之风,吹进了现代智慧小区的每一个角落…

win10电脑 定时关机

win10电脑 定时关机 https://weibo.com/ttarticle/p/show?id2309405110707766296723 二、使用任务计划程序设置定时关机打开任务计划程序: 按下“Win S”组合键,打开搜索框。 在搜索框中输入“任务计划程序”,然后点击搜索结果中的“任务…

【数模学习笔记】插值算法和拟合算法

声明:以下笔记中的图片以及内容 均整理自“数学建模学习交流”清风老师的课程资料,仅用作学习交流使用 文章目录 插值算法定义三个类型插值举例插值多项式分段插值三角插值 一般插值多项式原理拉格朗日插值法龙格现象分段线性插值 牛顿插值法 Hermite埃尔…

​HPM6700——以太网通信lwip_udpecho_freertos_socket

1. 概述 本示例展示在FreeRTOS系统下的UDP回送通讯 PC 通过以太网发送UDP数据帧至MCU,MCU将接收的数据帧回发至PC 2. 硬件设置 使用USB Type-C线缆连接PC USB端口和PWR DEBUG端口 使用以太网线缆连接PC以太网端口和开发板RGMII或RMII端口 3. 工程配置 以太网端…

低代码独特架构带来的编译难点及多线程解决方案

前言 在当今软件开发领域,低代码平台以其快速构建应用的能力,吸引了众多开发者与企业的目光。然而,低代码平台独特的架构在带来便捷的同时,也给编译过程带来了一系列棘手的难点。 一,低代码编译的难点 (1…

FPGA 21 ,深入理解 Verilog 中的基数,以及二进制数与十进制数之间的关系( Verilog中的基数 )

目录 前言 一. 基数基础 1.1 基数介绍 2.1 基数符号 3.1 二进制数 二. 二进制与十进制数 三. 二进制数 3.1 定义寄存器类型变量 3.2 定义线网类型变量 3.3 赋值操作 3.4 解析二进制数为十进制数 四. 代码示例 五. 注意事项 六. 更多操作 前言 在Verilog中&#…

开始使用Panuon开源界面库环境配置并手写VS2019高仿界面

1. Panuon环境配置 1.1. 通过Nuget 安装 Panuon.WPF.UI1.2. xaml引用命名空间1.3. using Panuon.WPF.UI; 2. VS2019 view 2.1. 设置窗体尺寸和title2.2. 添加静态资源 2.2.1. 什么是静态资源 2.3. 主Grid 2.3.1. 盒子模型2.3.2. 嵌套布局 3. 总结 1. Panuon环境配置 1.1. 通…

blender导出镜头动作vmd

1 选中相机 2 在相机属性中找到 MMD摄像机工具 3 在弹窗中给 烘焙动画 打勾(图中没忘打了)点击确定 等待烘焙完成 4 烘焙结束后选中刚刚新增的物体 5 在mmd tools中点击 动作-导出(图中已经导出了,故显示灰色)

RabbitMQ确保消息可靠性

消息丢失的可能性 支付服务先扣减余额和更新支付状态(这俩是同步调用),然后通过RabbitMq异步调用支付服务更新订单状态。但是有些情况下,可能订单已经支付 ,但是更新订单状态却失败了,这就出现了消息丢失。…

重生之我在21世纪学C++—string

一、string 概念 string 字符串是一种更加高级的封装,string 字符串中包含大量的方法,这些方法可以使得字符串的操作变得更加简单。如果 string 使用的好,慢慢你就不想使用字符数组来存放字符串了,因为更简单嘛。 C 将字符串直接…

day10_Structured Steaming

文章目录 Structured Steaming一、结构化流介绍(了解)1、有界和无界数据2、基本介绍3、使用三大步骤(掌握)4.回顾sparkSQL的词频统计案例 二、结构化流的编程模型(掌握)1、数据结构2、读取数据源2.1 File Source2.2 Socket Source…

x86_64搭建ARM交叉编译工具链

点击上方"蓝字"关注我们 01、下载 >>> GCC 64位交叉编译下载:https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/ 喜欢那个版本自己找 02、简介 >>> 交叉编译器中“交叉”的意思就是在一个架构…

迅翼SwiftWing | ROS 固定翼开源仿真平台正式发布!

经过前期内测调试,ROS固定翼开源仿真平台今日正式上线!现平台除适配PX4ROS环境外,也已实现APROS环境下的单机飞行控制仿真适配。欢迎大家通过文末链接查看项目地址以及具体使用手册。 1 平台简介 ROS固定翼仿真平台旨在实现固定翼无人机决策…

IOS界面传值-OC

1、页面跳转 由 ViewController 页面跳转至 NextViewController 页面 &#xff08;1&#xff09;ViewController ViewController.h #import <UIKit/UIKit.h>interface ViewController : UIViewControllerend ViewController.m #import "ViewController.h" …