Linux命令篇(六):vi/vim专项

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝您生活愉快!

文章目录

  • 一、什么是vim
  • 二、vim操作说明
    • [2.1 vim的三种模式](#2.1 vim的三种模式)
      • [2.1.1 命令模式](#2.1.1 命令模式)
      • [2.1.2 输入模式](#2.1.2 输入模式)
      • [2.1.3 命令行模式](#2.1.3 命令行模式)
  • 三、vi/vim命令使用说明
    • [3.1 vi创建文件](#3.1 vi创建文件)
    • [3.2 vi/vim编辑文件](#3.2 vi/vim编辑文件)
    • [3.3 保存退出](#3.3 保存退出)
    • [3.4 vi/vim常用按键说明](#3.4 vi/vim常用按键说明)
  • 四、结束语

一、什么是vim

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

二、vim操作说明

2.1 vim的三种模式

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

2.1.1 命令模式

启动vi/vim命令,便进入到了命令模式,此时敲击键盘操作便会被vim识别为命令动作,在该模式下可以进行如下操作命令:

  • i:切换到输入模式,在光标当前位置开始输入文本
  • x:删除当前光标所在处的字符
  • : -- 切换到底线命令模式,以在最底一行输入命令
  • dd:剪切当前行
  • yy:复制当前行
  • u:撤销上一次操作
  • :w -- 保存文件,不退出
  • :q -- 退出,不保存文件
  • :wq -- 保存退出
  • ZZ -- 保存退出

2.1.2 输入模式

在命令模式下,按 i 即可进入输入模式,使用Esc键可以退出输入模式。在输入模式中可以使用的操作如下:

  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

2.1.3 命令行模式

在输入模式中按esc键退出输入模式后,按":"键便可进入底线命令行模式,在底线命令模式中,可以进行查询字符串等内容的操作,基本常用的命令有(已经省略了冒号):

:w -保存文件

:q -退出 Vim 编辑器

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

:ZZ -保存文件并退出 Vim 编辑器

按Esc键可以退出底线命令行模式

三、vi/vim命令使用说明

3.1 vi创建文件

我们可以使用 vi 命令来建立一个名为 tes.txt 的文件,可以进行如下命令操作:

bash 复制代码
vi test.txt

注意:vi 后面一定要加文件名,不管该文件存在与否!

3.2 vi/vim编辑文件

按下 i 进入输入模式(也称为编辑模式),开始编辑文字,此时会出现如下画面,表示目前处于编辑过程

3.3 保存退出

返回到一般模式中,输入:wq保存退出

3.4 vi/vim常用按键说明

  • Ctrl\] + \[f\] -- 屏幕『向下』移动一页,相当于 \[Page Down\]按键 (常用)

  • Ctrl\] + \[d\] --屏幕『向下』移动半页

  • $ 或功能键[End] --移动到这一行的最后面字符处(常用)
  • H --光标移动到这个屏幕的最上方那一行的第一个字符
  • L --光标移动到这个屏幕的最下方那一行的第一个字符
  • G --移动到这个档案的最后一行(常用)

四、结束语

以上总结linux编辑文件的两个常用命令vi/vim,并列举了每个命令高频使用的参数和应用场景,如有其他疑问请大家评论留言指出,欢迎大家指正。最后,希望这篇博文能给大家提供些许帮助,感谢大家的支持!

相关推荐
IT成长日记3 小时前
【Docker基础】Docker数据持久化与卷(Volume)介绍
运维·docker·容器·数据持久化·volume·
物联网老王5 小时前
Ubuntu Linux Cursor 安装与使用一
linux·运维·ubuntu
艾伦_耶格宇7 小时前
【ACP】阿里云云计算高级运维工程师--ACP
运维·阿里云·云计算
一位摩羯座DBA7 小时前
Redhat&Centos挂载镜像
linux·运维·centos
学习3人组7 小时前
CentOS配置网络
linux·网络·centos
weixin_307779138 小时前
Hive集群之间迁移的Linux Shell脚本
大数据·linux·hive·bash·迁移学习
漫步企鹅8 小时前
【蓝牙】Linux Qt4查看已经配对的蓝牙信息
linux·qt·蓝牙·配对
cui_win9 小时前
【网络】Linux 内核优化实战 - net.core.flow_limit_table_len
linux·运维·网络
梦在深巷、9 小时前
MySQL/MariaDB数据库主从复制之基于二进制日志的方式
linux·数据库·mysql·mariadb
风清再凯9 小时前
自动化工具ansible,以及playbook剧本
运维·自动化·ansible