热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

vi编辑器的三种模式-linux运维

vi共分为三种模式:命令模式,编辑模式,末行模式。在普通权限下键入“$vi文件名”或临时root用户下键入“#vi文件名”进入命令行模式。在命令模式中按下i、I、o、O、a、A、r、R等字母之后进入编辑模式。命令行模式按:进入末行模式。

vi编辑器是Unix系统最初的编辑器。它使用控制台图形模式来模拟文本编辑窗口,允许查看文件中的行、在文件中移动、插入、编辑和替换文本。

vi共分为三种模式:命令模式,编辑模式,末行模式。

(1)命令模式

命令模式为vi的初始模式。在普通权限下键入“$vi 文件名”或临时root用户下键入“# vi 文件名”(例:root@XXX-virtualBox:/ect# vi vsftpd.conf),则初始进入vi的命令模式。 编辑模式下按esc进入命令模式。网上很多写在末行模式按esc可进入命令模式,我的电脑进入末行模式后几乎所有按键都是输入,输入esc显示“^[”而不会退回到命令模式。所以如果有情况和我相同进入末行模式不能转换模式的,不要乱按回车键。

命令模式中:

ZZ:退出vi

h或<-左键:左移一个字符

j或下键:下移一行

k或上键:上移一行

l或右键:右移一个字符

pageDown(或ctrl+F):下翻一屏

pageUp(或ctrl+B):上翻一屏

G:移动到缓冲区的最后一行

num G:移动到缓冲区中第num行

gg:移动缓冲区的第一行

x:删除当前光标所在位置的字符

dd:删除当前光标所在行

dw:删除当前光标所在位置的单词

d$:删除当前光标所在位置至行尾的内容

J:删除当前光标所在行行尾的换行符(拼接行)

u:撤销前一编辑命令

a:在当前光标后追加数据

A:在当前光标所在行行尾追加数据

r char:用char替换当前光标所在位置的单个字符

R text:用text覆盖当前光标所在位置的数据,直到按下ESC键

很容易误按的一个命令:qq:左下角会出现“recording@”这个标识。这是vim的一个强大的功能。它可以录制一个宏,按q可停止宏录制。

(2)编辑模式

在命令模式中按下【i,I,o,O,a,A,r,R】等字母之后进入编辑模式。按下上述的字母时,画面的左下方可能会出现【--INSERT--或--插入--】的字样,可以做文字数据输入。各个按键含义如下:

a:在光标后开始插入

A:在行尾开始插入

i:从光标所在位置前面开始插入

I:从光标所在列的第一个非空白字元面前开始插入

o:在光标所在列下新增一列并进入输入模式

O:在光标所在列上方新增一列并进入输入模式

ESC:返回命令模式

(3)末行模式

网上很多说在命令模式中输入【:】会进入末行模式,我的电脑:没有效果。需要在大写模式(按CapsLock键)再按q键最末行会出现:,注意这时不能再切换回其他模式(如果可以请留言我修改,谢谢)。可在:后输入命令

:q 如果有未修改缓冲区数据,退出。

:q! 取消所有对缓冲区数据的修改并退出【不保存直接退出】

:w filename 将文件保存到另一个文件中

:wq将缓冲区数据保存到文件中并退出

:sp上下分屏

:vsp左右分屏

ctrl+w+w切换屏

有些资料写命令模式中输入【/】进入末行模式,和:的命令不同,/后可输入查找内容或一些命令。如果/后输入错误的命令会自动回到命令模式。


推荐阅读
  • 本文详细介绍了Vim编辑器的三种主要模式及其常用命令,帮助用户更好地掌握这一强大的文本编辑工具。 ... [详细]
  • 三星W799在2011年的表现堪称经典,以其独特的双屏设计和强大的功能引领了双模手机的潮流。本文详细介绍其配置、功能及锁屏设置。 ... [详细]
  • 本文介绍了Linux系统中的文件IO操作,包括文件描述符、基本文件操作函数以及目录操作。详细解释了各个函数的参数和返回值,并提供了代码示例。 ... [详细]
  • Vim怎么批量处理文件将tab变为space? ... [详细]
  • 本文详细介绍了如何规划和部署一个高可用的Etcd集群,包括主机配置、软件安装、防火墙设置及集群健康检查等内容。通过合理的硬件配置和网络规划,确保Etcd集群在生产环境中的稳定运行。 ... [详细]
  • 在成功安装和测试MySQL及Apache之后,接下来的步骤是安装PHP。为了确保安全性和配置的一致性,建议在安装PHP前先停止MySQL和Apache服务,并将MySQL集成到PHP中。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 在Fedora 31上部署PostgreSQL 12
    本文详细介绍如何在Fedora 31操作系统上安装和配置PostgreSQL 12数据库。包括环境准备、安装步骤、配置优化以及安全设置,确保数据库能够稳定运行并提供高效的性能。 ... [详细]
  • 本文探讨了如何在Classic ASP中实现与PHP的hash_hmac('SHA256', $message, pack('H*', $secret))函数等效的哈希生成方法。通过分析不同实现方式及其产生的差异,提供了一种使用Microsoft .NET Framework的解决方案。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文介绍了在MacOS上通过Homebrew安装Anaconda3,并配置环境变量以实现不同Python版本之间的快速切换。同时,提供了详细的步骤来创建和管理多个Python环境。 ... [详细]
author-avatar
神秘的sy0001
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有