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查看序号

查看文件内容

相关推荐
serve the people13 小时前
Prompts for Chat Models in LangChain
java·linux·langchain
李昊哲小课14 小时前
Ubuntu 24.04 MariaDB 完整安装与配置文档
linux·ubuntu·mariadb
人间打气筒(Ada)15 小时前
zerotier内网穿透部署(rockylinux部署本地服务器)超详细~~~
linux·内网穿透·内网·公网·zerotier·穿透
Elias不吃糖16 小时前
Git常用指令合集
linux·git
_OP_CHEN16 小时前
Linux网络编程:(七)Vim 编辑器完全指南:从入门到精通的全方位实战教程
linux·运维·服务器·编辑器·vim·linux生态·linux软件
Maple_land16 小时前
第1篇:Linux工具复盘上篇:yum与vim
linux·运维·服务器·c++·centos
shizhan_cloud16 小时前
Linux 硬盘分区管理
linux·运维
蓁蓁啊17 小时前
Ubuntu 虚拟机文件传输到 Windows的一种好玩的办法
linux·运维·windows·单片机·ubuntu
9ilk18 小时前
【仿RabbitMQ的发布订阅式消息队列】 ---- 功能测试联调
linux·服务器·c++·分布式·学习·rabbitmq
q***74818 小时前
在Linux系统上使用nmcli命令配置各种网络(有线、无线、vlan、vxlan、路由、网桥等)
linux·服务器·网络