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

vi编辑器的三种模式

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编辑器中的三种模式(命令模式、末行模式和编辑模式)以及它们之间的操作区别和切换方法。Vim编辑器凭借其多种命令快捷键和高效率的操作方式,得到了广大厂商和用户的认可。对于想要高效操作文本的用户来说,了解这些模式的使用方法是必不可少的。 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在Mac上配置环境变量,实现Python3的命令行调用的步骤。首先通过官网下载或使用brew安装Python3,并找到安装路径。然后将该路径添加到环境变量中,可以通过编辑.bash_profile文件或执行source命令来实现。配置完成后,即可在命令行中直接调用Python3。 ... [详细]
  • 图片复制到服务器 方向变了_双服务器热备更新配置文件步骤问题及解决方法
    本文介绍了在将图片复制到服务器并进行方向变换的过程中,双服务器热备更新配置文件所出现的问题及解决方法。通过停止所有服务、更新配置、重启服务等操作,可以避免数据中断和操作不规范导致的问题。同时还提到了注意事项,如Avimet版本的差异以及配置文件和批处理文件的存放路径等。通过严格执行切换步骤,可以成功进行更新操作。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文讨论了在PHP中将空格转换为问号的问题,并提供了解决方案。文章指出,空格不是标准的空格,而是特殊的0xC2 0xA0字符。作者尝试使用mb_convert_encoding函数将utf8字符串转换为gbk编码,但未成功。文章建议检查编辑器是否对空格进行了特殊处理,并提供了使用base64_encode函数打印结果的方法。最后,给出了完整的代码示例。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
author-avatar
mobiledu2502928947
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有