Linux vi/vim

Linux vi/vim

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。

但是目前我们使用比较多的是 vim 编辑器。

vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

什么是 vim?

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

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

连 vim 的官方网站 (https://www.vim.org/) 自己也说 vim 是一个程序开发工具而不是文字处理软件。

vi/vim 的使用

基本上 vi/vim 共分为三种模式,命令模式(Command Mode)输入模式(Insert Mode)命令行模式(Command-Line Mode)

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。

以下是普通模式常用的几个命令:

i -- 切换到输入模式,在光标当前位置开始输入文本。

x -- 删除当前光标所在处的字符。

: -- 切换到底线命令模式,以在最底一行输入命令。

a -- 进入插入模式,在光标下一个位置开始输入文本。

o:在当前行的下方插入一个新行,并进入插入模式。

O -- 在当前行的上方插入一个新行,并进入插入模式。

dd -- 删除当前行。

yy -- 复制当前行。

p(小写) -- 粘贴剪贴板内容到光标下方。

P(大写)-- 粘贴剪贴板内容到光标上方。

u -- 撤销上一次操作。

Ctrl + r -- 重做上一次撤销的操作。

:w -- 保存文件。

:q -- 退出 Vim 编辑器。

:q! -- 强制退出Vim 编辑器,不保存修改。

若想要编辑文本,只需要启动 Vim,进入了命令模式,按下 i 切换到输入模式即可。

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

输入模式

在命令模式下按下 i 就进入了输入模式,使用 Esc 键可以返回到普通模式。

在输入模式中,可以使用以下按键:

字符按键以及Shift组合,输入字符

ENTER,回车键,换行

BACK SPACE,退格键,删除光标前一个字符

DEL,删除键,删除光标后一个字符

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

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

Page Up/Page Down,上/下翻页

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

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

底线命令模式

在命令模式下按下 :(英文冒号)就进入了底线命令模式。

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

在底线命令模式中,基本的命令有(已经省略了冒号):

:w:保存文件。

:q:退出 Vim 编辑器。

:wq:保存文件并退出 Vim 编辑器。

:q!:强制退出Vim编辑器,不保存修改。

按 ESC 键可随时退出底线命令模式。

简单的说,我们可以将这三个模式想成底下的图标来表示:

相关推荐
~黄夫人~2 小时前
Linux 权限管理:用户组 + 特殊权限 + ACL 解析
linux·运维·计算机·学习笔记·权限管理
2501_907136822 小时前
手搓仓库管理系统Senbar-1.0.4(附带财务管理板块)
运维·服务器·软件需求
盟接之桥4 小时前
盟接之桥EDI软件:API数据采集模块深度解析,打造企业数据协同新引擎
java·运维·服务器·网络·数据库·人工智能·制造
2501_907136824 小时前
离线工具箱 内含53个小工具
linux·服务器·网络
时空潮汐4 小时前
神卓N600 NAS身份核验功能深度解析
linux·运维·网络·神卓nas·神卓n600 pro·家庭轻nas
哈哈浩丶4 小时前
安卓系统全流程启动
android·linux·驱动开发
小李独爱秋4 小时前
模拟面试:用自己的话解释一下lvs的工作原理
linux·运维·面试·职场和发展·操作系统·lvs
百锦再5 小时前
Jenkins 全面精通指南:从入门到脚本大师
运维·后端·python·servlet·django·flask·jenkins
隔壁老王的代码5 小时前
Jenkins的流水线详解
运维·servlet·jenkins
一路往蓝-Anbo5 小时前
第 7 章:内存地图 (Memory Map) 深度设计——DDR 与 SRAM
linux·stm32·单片机·嵌入式硬件·网络协议