简单介绍一下vim

简单介绍一下vim

一、vim是什么?

Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

vim 键盘图

二、vim的优点

  • 兼容性 :vi 是 Unix-like 系统的标准组件,是POSIX 标准的一部分,这意味着所有遵循 POSIX 标准的系统都需要提供 vi 或兼容的编辑器。这确保了应用程序和脚本在不同系统间的兼容性。
  • 轻量级:vi 是一个轻量级的编辑器,它不需要图形用户界面(GUI),可以在命令行界面中运行。这使得它非常适合在资源受限的环境中使用,如服务器、嵌入式系统或远程登录。
  • 功能强大:尽管 vi 的界面相对简单,但它提供了强大的文本编辑功能,包括多级撤销、宏录制、正则表达式搜索和替换等。
  • 可定制性:vi 可以通过配置文件 .vimrc(对于 Vim)或 .exrc 进行定制,允许用户根据自己的需求调整编辑器的行为。
  • 性能,系统支持:处理大型文件时,它能够快速加载和编辑,而不会消耗大量系统资源。vi/Vim 拥有一个活跃的社区,提供了大量的插件和扩展,这使得编辑器能够适应不同的编程语言和开发环境。

三、vi/vim的使用

基本上 vi/vim 共分为三种模式。

  • 命令模式(Command Mode)(一般模式,普通模式)
  • 输入模式(Insert Mode)
  • 命令行模式(Command-Line Mode)

命令模式

用户刚刚启动 vi/vim,便进入了命令模式,命令模式下输入的字符会被当做命令执行。

命令模式只有一些最基本的命令,仍要依靠底线命令行模式输入更多命令。基本命令有:

bash 复制代码
i -- 切换到输入模式,在光标当前位置开始输入文本。
x -- 删除当前光标所在处的字符。
: -- 切换到底线命令模式,以在最底一行输入命令。
a -- 进入插入模式,在光标下一个位置开始输入文本。
o:在当前行的下方插入一个新行,并进入插入模式。
O -- 在当前行的上方插入一个新行,并进入插入模式。
dd -- 剪切当前行。
yy -- 复制当前行。
p(小写) -- 粘贴剪贴板内容到光标下方。
P(大写)-- 粘贴剪贴板内容到光标上方。
u -- 撤销上一次操作。
Ctrl + r -- 重做上一次撤销的操作。
:w -- 保存文件。
:q -- 退出 Vim 编辑器。
:q! -- 强制退出Vim 编辑器,不保存修改。
. :重复插入,:在普通模式下,按下.键会重复上一次在插入模式(Insert Mode)中所做的更改。
   这包括插入的文本、删除的文本、替换的文本等。

输入模式

允许用户插入或修改文本的模式。

  • Shift 组合:使用 Shift 键与字母键或数字键组合,可以输入大写字母或特殊字符。例如,按住 Shift 键并同时按下 '1' 键可以输入感叹号 '!'。

  • 退格和删除:

    在输入模式中,Backspace 键通常用于删除光标左侧的字符。

    Delete 键(或在某些键盘上是 Del 键)通常用于删除光标下的字符。

  • 方向键,在文本中移动光标

  • HOME/END,移动光标到行首/行尾

  • Page Up/Page Down,上/下翻页

  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线

  • ESC,退出输入模式,切换到命令模式

  • 插入特殊字符:某些特殊字符可能需要特定的按键组合来输入,比如使用 Ctrl 键与字母键组合输入控制字符。

  • 插入换行符:按 Enter 键可以在当前光标位置插入一个换行符,开始新的一行。

  • 使用 Tab 键:Tab 键可以插入一个制表符,其宽度可以在 Vim 配置中设置。

底线命令模式

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

bash 复制代码
:w:保存文件。
:q:退出 Vim 编辑器。
:wq:保存文件并退出 Vim 编辑器。
:q!:强制退出Vim编辑器,不保存修改。

四、vi/vim 按键说明

(一)命令模式可用的光标移动、复制粘贴、搜索替换等

移动光标的方法:

)

搜索替换的方法
删除、复制与贴上的方法

(二)一般模式切换到编辑模式的可用的按钮说明

(三)一般模式切换到指令行模式的可用的按钮说明

(四)vim 环境的变更

配置文件是 ~/.vimrc(对于 Unix-like 系统,包括 Linux 和 macOS),或者 %USERPROFILE%_vimrc(对于 Windows)。

显示行号:

(在任何模式下输入以下命令,一般是命令模式)

bash 复制代码
:set nu	显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu	与 set nu 相反,为取消行号!

(要使 Vim 每次启动时都显示行号,您可以在 Vim 配置文件中添加以下行)

bash 复制代码
set number
set nonumber
相关推荐
A小调的码农8 分钟前
给垃圾平板“一生E本” 装新系统—————Armbian 编译 KYX T7Y (RK3326) 踩坑全记录
linux·嵌入式硬件
ljs64827395110 分钟前
Linux 网络常用命令与端口基础详解
linux·网络·php
qq_163135751 小时前
Linux 判断是否安装 Conda / Miniconda 完整方法
linux
weixin_307779131 小时前
Linux下Docker Compose里运行Milvus向量数据库故障诊断Shell脚本
linux·运维·数据库·docker·milvus
素心如月桠1 小时前
windows系统使用https://lnmp.org/的LNMP一键安装包,来打开我的服务器Linux
linux·运维·服务器
AOwhisky1 小时前
Linux(CentOS)系统管理入门笔记:第二期核心知识点自测与详解
linux·笔记·centos
运维大师1 小时前
【Linux运维极简教程】03-用户与用户组管理
linux·运维·服务器
云计算-Security2 小时前
同(异)主机 Linux NAT 最佳实践
linux·服务器·网络
天空'之城11 小时前
Linux 系统编程 22:五种 IO 模型全解
linux
小张成长计划..12 小时前
【Linux】10:冯·诺依曼体系结构和操作系统
linux·运维·服务器