目录

vim基本用法

vim三种状态切换

命令模式

输入模式

末行模式


vim编辑器是vi编辑器的升级版。

如果我们希望在/tmp/目录中建立一个名为test.txt的文件并写入hello这几个字母,在上一节中,我们了解到使用echo命令去实现这样的需求

echo "hello" > test.txt

实际中,在linux中使用更多的是vim编辑器。

vim基本用法

编辑test.txt。

vim test.txt

按下键盘的”i”键,界面左下角显示insert,进入输入模式,表明可以输入。

输入完成后按esc键回到命令模式。

如果需要保存并退出,按“:”键,输入wq。

使用cat检查是否写入

:wq 保存退出
:q! 退出不保存
:set nu 显示行号
:set nonu    //取消显示行号
:% s/l/x/g 把所有的l替换成x

以上是vim最基本最基本的操作了。如果只是需要对文件进行修改或者查看,掌握上面的内容就足够了,如果还希望掌握一些更进阶的内容,则可以接着往下看。

vim三种状态切换

vim 共分为三种模式,分别是

  • 命令模式(Command mode)
  • 输入模式(Insert mode)
  • 末行模式(Last line mode)

它们的切换方式如下图

命令模式

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

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

以下是常用的几个命令:

i 切换到输入模式,以输入字符。
a      //在当前光标位置的右边添加文本
i       //在当前光标位置的左边添加文本
A     //在当前行的末尾位置添加文本
I      //在当前行的开始处添加文本(非空字符的行首)
O     //在当前行的上面新建一行
o     //在当前行的下面新建一行
R    //替换(覆盖)当前光标位置及后面的若干文本
J    //合并光标所在行及下一行为一行(依然在命令模式)
x 删除当前光标所在处的字符。
nx         //删除从光标开始的n个字符
dd 删除当前行
ndd   //向下删除当前行在内的n行
u       //撤销上一步操作
U      //撤销对当前行的所有操作
2yy 复制当前行以及下一行
10yy 复制当前行以及下十行
p 粘贴到当前行
gg 快速回到第一行
G 快速回到最后一行
:10,20d 删除第10行到第20行
50G 快速回到第50行
/vpser     //向光标下搜索vpser字符串
?vpser     //向光标上搜索vpser字符串
n           //向下搜索前一个搜素动作
N         //向上搜索前一个搜索动作
n+        //向下跳n行
n-         //向上跳n行
nG        //跳到行号为n的行
G           //跳至文件的底部

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。输入“:” 切换到末行模式,以在最底一行输入命令。

输入模式

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

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

末行模式

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

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

在末行模式中,基本的命令有:

:q 退出程序
:w 保存文件
:wq 保存并退出
:q! 退出不保存
:w test.txt 保存至test.txt文件
:set fileformat=unix   //将文件修改为unix格式

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

关于本文所用到的工具,欢迎关注我的公众号:旁骛OtherThing,回复工具获取。

web安全day23:vim软件的最基本最常用操作相关推荐

  1. Vim文本编辑器及文本处理常用操作

    目录 vim编辑器介绍 vi编辑器 vim编辑器 基本模式 派生模式 其他 使用vim编辑器 vim编辑器命令格式 vim基础操作-打开文件 vim基础操作-移动光标 vim基础操作-数据操作 vim ...

  2. Vim使用小记(一)常用操作

    By francis_hao    Sep 22,2016 vim的功能自然不止如此,这里只是把日常使用频率较高的记录下来,若想了解vim的全部功能可查阅其帮助手册:help,或者查询指定命令的用法: ...

  3. 蓝桥杯软件类竞赛--Python的常用操作示例

    算法教材:<算法竞赛入门到进阶> 清华大学出版社 网购:京东 当当   作者签名书(有发票):点我 有建议请加QQ 群:567554289 文章目录 1. for循环 2. sort()和 ...

  4. 微软办公软件Word,Excel,PPT一些常用操作

    Word 去掉红线 工具->拼写和语法->隐藏拼写错误 去掉段落标记 视图->显示段落标记(取消勾选) Excel 将CSV文件中科学计数法在excel中正常显示 建议直接看这篇文章 ...

  5. 在WinForm中使用Web Service来实现软件自动升级

    来源:互联网 winform程序相对web程序而言,功能更强大编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,面对这个实际问题,在最近的一个小项目中,本人设计了一个通过软件实现自动升级技术 ...

  6. 承接WEB应用开发、软件开发、网站开发

    DB80 .NET 软件实验室是由全国资深开发工程师组成的技术联盟,拥有多样的技术类型和强大的技术实力.  A.我们的服务: 一.WEB应用开发.软件开发.网站开发: 此项业务主要服务于各大中小企业. ...

  7. web数据库管理和运维软件 - webcat

    WebcatEE 是一个java版的 web 数据库管理和运维软件,支持多种数据库,包含了SQL审核,SQL执行,SQL查询,线上发布等功能. WebcatEE 同时支持 Redis, MongoDB ...

  8. 基于web的HMI / SCADA软件

    一.项目简介 基于web的HMI / SCADA软件 二.实现功能 有GIS信息 支持视频流 支持工厂过程组态 支持配方系统组态 支持油和汽组态 支持交通系统组态 支持水系统组态 支持热力项目组态 支 ...

  9. 减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同

    转:减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同 本篇文章讨论并不是:不要使用存储过程,因为有些事情还是要存储过程来完成,不可能不用.而是关于:"业务逻辑是不是要封装在存 ...

  10. 2021年中国基于Web的医疗计费软件市场趋势报告、技术动态创新及2027年市场预测

    基于Web的医疗计费软件市场的企业竞争态势 该报告涉及的主要国际市场参与者有Cliniko.SimplePractice.NextGen Healthcare.MINDBODY.CounSol.com ...

最新文章

  1. POJ 3258:River Hopscotch (最大化最小值)
  2. 编写歌唱比赛评分_【活动】预告||“唱自己的歌”歌唱大赛来啦
  3. IDEA中如何彻底删除项目
  4. RabbitMQ 把一个queue从一个node转移到另外一个node.
  5. Android之给图片添加涂鸦(文字)
  6. linux系统硬盘使用过高,磁盘IO过高时的处理办法
  7. OpenCV equalizeHist直方图均衡化的实例(附完整代码)
  8. Spring AOP源码解析(一)——核心概念
  9. Laravel+passport 实现API认证
  10. 东北大学计算机技术考研大纲,东北大学考研大纲
  11. Linux运维新主机挂载硬盘,linux运维:Linux下添加新硬盘+分区及挂载详细步骤图解...
  12. python文本编码转换_python实现文件批量编码转换及注意事项
  13. Apache+php 在windows下的配置
  14. ZeroMQ(java)之负载均衡
  15. 基于H5的移动端APP开发框架
  16. 数据库系列(4):关系型数据库
  17. 听说今年金三银四变成金一银二了。
  18. sybase客户端SqlDbx中文乱码问题解决
  19. 一份完整的app产品运营推广方案,app推广运营的方法(二
  20. 被国人误解了千年的七句话

热门文章

  1. 【面经】来啦!百度凤巢算法面经
  2. 人民日报:研究生期间该懂的47件事,你认可吗?
  3. 评分9.7,边看边用!这本Python书终于玩大了!
  4. 65 年来,全英国向他道歉三次
  5. Python中的抽象
  6. 知识图谱研讨实录09丨肖仰华教授带你读懂知识图谱语言认知
  7. yum与apt-get的区别以及两者更新源(阿里/网易【163】)
  8. deebot扫地机器人使用_石头扫地机器人T7 Pro使用体验 避障更加“聪明”
  9. python有参装饰器详解_Python 带有参数的装饰器实例代码详解
  10. flink写入 mysql_基于 Binlog + Flink 实现多表数据同构/异构方案