Linux —— vim 编辑器

一、什么是vim

vim是一个功能强大、高度可定制的文本编辑器。以下是对vim编辑器的具体介绍:

  1. 历史背景:vim最初由Bram Moolenaar在1991年开发,作为vi编辑器的增强版,增加了许多新的特性和改进。它继承了vi的基本编辑功能和键盘快捷键,同时引入了多级撤销、语法高亮、自动缩进等现代编辑器特性。

  2. 模式系统:vim拥有多种操作模式,包括普通模式(Normal mode)、插入模式(Insert mode)和可视模式(Visual mode)等。用户可以根据需要在不同模式间切换,以实现高效的文本编辑。例如,在普通模式下,用户可以浏览文件、执行命令;在插入模式下,用户可以输入文本;在可视模式下,用户可以进行文本选择和操作。

  3. 定制性 :vim支持高度定制化,用户可以通过修改.vimrc配置文件来调整编辑器的行为,如设置快捷键、更改配色方案、安装插件等。这使得vim能够适应不同用户的工作流程和喜好,成为一个灵活且强大的编辑工具。

  4. 跨平台性:vim支持多种操作系统,包括Windows、Mac和各种Linux发行版。无论使用哪种操作系统,用户都可以使用相同的Vim技巧进行文本编辑,实现跨平台的一致性和便利性。

二、vim之间的转换

三、命令模式

(一)、基本操作

  1. 移动光标

    • h:向左移动光标一个字符。
    • j:向下移动光标一行。
    • k:向上移动光标一行。
    • l:向右移动光标一个字符。
    • w:向后移动到下一个单词的开头。
    • b:向前移动到上一个单词的开头。
    • e:移动到当前单词的末尾。
    • 0:移动到行首。
    • $:移动到行尾。
  2. 删除文本

    • x:删除光标所在位置的字符。
    • dd:删除整行。
    • dw:删除从光标位置到下一个单词开头的所有字符。
    • D:删除从光标位置到行末的所有字符。
  3. 复制文本

    • yy:复制当前行。
    • yw:复制从光标位置到单词末尾的所有字符。
    • y$:复制从光标位置到行末的所有字符。
  4. 粘贴文本

    • p:在光标下方插入已复制或剪切的文本。
    • P:在光标上方插入已复制或剪切的文本。
  5. 替换文本

    • r:按需替换单个字符。
    • R:进入逐字符替换模式,按Esc退出。
  6. 撤销和重做

    • u:撤销最近的修改操作。
    • Ctrl + r:重做被撤销的操作。

(一)、高级操作

  1. 可视模式

    • v:按字符选择文本块。
    • V:按行选择文本块。
    • Ctrl + v:按块选择文本块。
  2. 命令行模式

    • ::进入命令行模式,用于执行各种命令。
  3. 宏录制

    • qa:开始录制宏。
    • q:结束录制宏。
    • @a:播放录制的宏。

四、编辑模式

(一)、进入和退出编辑模式

  1. 进入编辑模式:在命令模式下,可以通过按下i键进入编辑模式。此外,还可以使用a、o等键从不同位置开始插入文本。

  2. 退出编辑模式:按Esc键可以退出编辑模式,返回到命令模式。

五、末行模式

  1. 保存和退出

    • :w:保存文件。
    • :q:退出Vim。
    • :wq:保存并退出。
    • :q!:强制退出,放弃未保存的更改。
  2. 返回命令模式

    • 按Esc

六、案例1

1、使用vim创建anli1文件

2、输入内容,保存退出

3、进入anli1文件,设置编号

4、查看文件内容

按i进入编辑模式,编辑完按Esc进入然后按:进入末行模式,输入wq,回车,保存退出

进入anli1使用set nu查看序号

查看文件内容

相关推荐
Dovis(誓平步青云)2 分钟前
《epoll深度解析:从原理到使用,解锁Linux高并发I/O的核心能力(终篇)》
linux·运维·服务器·网络
Xの哲學12 分钟前
Linux Workqueue 深度剖析: 从设计哲学到实战应用
linux·服务器·网络·算法·边缘计算
xiep143833351013 分钟前
Ubuntu 24.04.3 LTS 搭建离线仓库安装docker-ce
linux·ubuntu·docker
物理与数学14 分钟前
linux 内存区域(Zone)
linux·linux内核
代码游侠16 分钟前
学习笔记——ARM Cortex-A 裸机开发实战指南
linux·运维·开发语言·前端·arm开发·笔记
Jay Chou why did18 分钟前
uboot—1.概述
linux
m0_7482546619 分钟前
CSS 编辑器
前端·css·编辑器
纵有疾風起20 分钟前
【Linux 系统开发】基础开发工具详解:软件包管理器、编辑器。编译器开发实战
linux·服务器·开发语言·经验分享·bash·shell
乌萨奇也要立志学C++39 分钟前
【Linux】信号量 信号量详解与应用和基于环形队列实现单 / 多生产消费模型
linux·c++
DN金猿40 分钟前
ubuntu在apt安装时出现的弹窗详解
linux·运维·ubuntu