Linux vi/vim 教程

文章目录

  • [【 1. vi/vim 的三种模式 】](#【 1. vi/vim 的三种模式 】)

    • [1.1 命令模式](#1.1 命令模式)
    • [1.2 输入模式](#1.2 输入模式)
    • [1.3 底线命令模式](#1.3 底线命令模式)
  • [【 2. 实例 】](#【 2. 实例 】)

  • [【 3. vim 的其他命令 】](#【 3. vim 的其他命令 】)

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

  • 目前我们使用比较多的是 vim 编辑器。vim 从 vi 发展出来,vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

【 1. vi/vim 的三种模式 】

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

1.1 命令模式

  • 用户刚刚启动 vi/vim, 默认进入命令模式(也称普通模式)。
  • 此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。
  • 命令模式只有一些最基本的命令,因此仍要依靠底线命令行模式输入更多命令。
  • 以下是命令模式常用的几个命令:
命令 作用
i 切换到输入模式,在光标当前位置开始输入文本。
: (英文冒号) 切换到底线命令模式,以在最底一行输入命令。
x 删除当前光标所在处的字符。
a 进入插入模式,在光标下一个位置开始输入文本。
o 在当前行的下方插入一个新行,并进入插入模式。
O 在当前行的上方插入一个新行,并进入插入模式。
dd 删除当前行。
yy 复制当前行。
p(小写) 粘贴剪贴板内容到光标下方。
P(大写) 粘贴剪贴板内容到光标上方。
u 撤销上一次操作。
Ctrl + r 重做上一次撤销的操作。
:w 保存文件。
:q 退出 Vim 编辑器。
:q! 强制退出Vim 编辑器,不保存修改。

1.2 输入模式

  • 输入模式中,常用操作:
操作 作用
Esc 退出输入模式,切换到命令模式
字符按键以及Shift组合 输入字符
Enter 回车键,换行
Backspace 退格键,删除光标前一个字符
Delete 删除键,删除光标后一个字符
方向键 在文本中移动光标
HOME/END 移动光标到行首/行尾
Page Up/Page Down 上/下翻页
Insert 切换光标为输入/替换模式,光标将变成竖线/下划线

1.3 底线命令模式

  • 底线命令模式可用的命令非常多。
  • 按 ESC 键可随时退出底线命令模式。
  • 在底线命令模式中,常用的命令有(已经省略了冒号):
命令 作用
:w 保存文件。
:q 退出 Vim 编辑器。
:wq 保存文件并退出 Vim 编辑器。
:q! 强制退出Vim编辑器,不保存修改。

【 2. 实例 】

  • 1. 进入到 vi/vim
    在 Shell 中输入如下命令,默认进入 命令模式。
cpp 复制代码
vi  test.txt


当对话框中下方显示 New File 时,则表示此文件不存在,vim 编辑器新建了一个文件。如果没有显示,New File则表示文件存在。

  • 2. 进入输入模式
    按下 i 进入输入模式。这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以我们可以进行任何的编辑。
  • 3. 返回命令模式
    按下 Esc 这个按钮即可,马上我们就会画面左下角的 -- INSERT -- 不见了,即可以表示进入了命令模式。
  • 4. 在命令模式中按下 :wq 再换行表示储存后离开 vim
  • 5. 最后返回到 Shell

【 3. vim 的其他命令 】

Linux vi/vim

相关推荐
热爱嵌入式的小许2 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
韩楚风6 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学6 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO6 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu77 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我7 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、7 小时前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程7 小时前
Linux中环境变量
linux
挥剑决浮云 -7 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
小O_好好学8 小时前
CentOS 7文件系统
linux·运维·centos