简单介绍一下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
相关推荐
powerfulzyh8 分钟前
Ubuntu24.04远程开机
linux·ubuntu·远程工作
ulimpid8 分钟前
Command | Ubuntu 个别实用命令记录(新建用户、查看网速等)
linux·ubuntu·command
HHoao9 分钟前
Ubuntu启动后第一次需要很久才能启动GTK应用问题
linux·运维·ubuntu
小灰兔的小白兔11 分钟前
【Ubuntu】Ubuntu常用命令
linux·运维·ubuntu
GFCGUO13 分钟前
ubuntu18.04运行OpenPCDet出现的问题
linux·python·学习·ubuntu·conda·pip
winds~14 分钟前
ubuntu中软件的进程管理-结束软件运行
linux·运维·ubuntu
阳光不锈@41 分钟前
麒麟桌面系统安装和配置Node.js
linux·麒麟系统安装node.js
叫我龙翔2 小时前
【Linux】进程间关系与守护进程
linux·运维·服务器·计算机网络
小诸葛的博客2 小时前
Ubuntu如何如何安装tcpdump
linux·ubuntu·tcpdump
S hh2 小时前
【Linux】进程地址空间
java·linux·运维·服务器·学习