概述

vi编辑器是所有Unix及Linux系统下标准的编辑器,功能强大。这里只是简单地介绍一下它的用法和一小部分命令。 vi基本可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

命令行模式(command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

插入模式(Insert mode) 只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。 一般我们在使用时把vi简化成两个模式,就是将底行模式作为命令行模式的一部分。

vi的基本操作

1.进入vi 在系统提示符号输入vi及文件名称后,就进入vi编辑画面:

2.转换到插入模式(Insert mode) 在「命令行模式(command mode)」下按一下字母「i」进入插入模式(Insert mode),按电脑上得Insert键也可进行模式切换,按的时候注意下面模式的变化。

3.插入模式转换到命令模式 按下「ESC」键转到「命令行模式(command mode)

退出vi及保存文件 在「命令行模式(command mode)」下,按「:」冒号键进入底行模式,例如: : wq (输入「wq」,存盘并退出vi) : q! (输入q!, 不存盘强制退出vi)

命令行模式常用指令

**1. 插入模式 ** 按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件; 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字; 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

2. 移动光标 vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」 ,分别控制光标左、下、上、右移一格(个人觉得还是上、下、左、右键好用)

按「ctrl」+「b」:屏幕往“后”移动一页。

按「ctrl」+「f」:屏幕往“前”移动一页。

按「ctrl」+「u」:屏幕往“后”移动半页。

按「ctrl」+「d」:屏幕往“前”移动半页。

按数字「0」:移到文章的开头。

按「G」:移动到文章的最后。

按「$」:移动到光标所在行的“行尾”。

按「^」:移动到光标所在行的“行首”

按「w」:光标跳到下个字的开头

按「e」:光标跳到下个字的字尾

按「b」:光标回到上个字的开头

.按「#l」:光标移到该行的第#个位置

3. 删除字符 1. 「x」:每按一次,删除光标所在位置的“后面”一个字符。 2. 「#x」:例如,「3x」表示删除光标所在位置的“后面”3个字符。 3. 「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。 4. 「#X」:例如,「3X」表示删除光标所在位置的“前面”3个字符。 5. 「dd」:删除光标所在行 6. 「#dd」:从光标所在行开始删除#行

4. 复制字符 1. 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。 2. 「#yw」:复制#个字到缓冲区 3. 「yy」:复制光标所在行到缓冲区。 4. 「#yy」:例如,「3yy」表示拷贝从光标所在的该行“往下数”3行文字。 5. 「p」:将缓冲区内的字符贴到光标所在位置。注:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

5.替换字符 1. 「r」:替换光标所在处的字符。 2. 「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

6. 恢复/撤消/还原上一次操作 1. 「u」:如果误执行一个命令,可以马上按下「u」,撤消上一个操作。按多次“u”可以执行多次撤消。

7. 更改字符 1. 「cw」:更改光标所在处的字到字尾处 2. 「c#w」:例如,「c3w」表示更改3个字

8. 跳至指定的行 1. 「ctrl」+「g」列出光标所在行的行号。 2. 「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

底行模式下命令简介

在使用该模式之前,先按「ESC」键确定您已经处于命令模式下后,再按 [:]冒号即可进入该模式 。 1. 列出行号 「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。

2. 跳到文件中的某一行 「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

3.查找字符 「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

4. 保存文件 1. 「w」:在冒号输入字母「w」就可以将文件保存起来

5. 离开vi 1. 「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vi。 2. 「qw」:一般离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

linux用vim修改字符串,阳光沙滩博客-Linux下 vi/vim的使用相关推荐

  1. android中串口转u口,阳光沙滩博客-Android——USB转COM口(CH340)与传感器进行通讯...

    本人使用环境 CH340转接头 Android5.1,RK3188 Android6.0,RK3288 关于CH34官方的jar包与使用存在的问题(官方地址) 最大的问题是无法修改串口波特率,一直以1 ...

  2. android 采集cpu温度,阳光沙滩博客-Android开发如何读取到CPU,内存等硬件温度信息?...

    Android开发如何读取到CPU,内存,温度等硬件信息? 最近在玩跑跑卡丁车,有一个面板显示着电呀,CPU使用,内存等情况 于是就来写这篇文章啦 以前我也做过CPU温度,频率之类的数据读取,那时我做 ...

  3. java final成员变量吗_阳光沙滩博客-为什么Java匿名内部内使用局部变量需要加final?而访问成员变量却不用加final呢?...

    前置知识 内存数据区域(Java内存结构) 在解析这个问题之前,得先有一些前置知识. 比如说,要知道什么是堆,什么是栈,什么是方法区,这数据区域存放什么内容? 可以参考这篇文章: 栈里面存放方法内容 ...

  4. 我的vim colorscheme - 白色之夜 - 博客园

    我的vim colorscheme - 白色之夜 - 博客园 我的vim colorscheme - 白色之夜 - 博客园 我的vim colorscheme yerik_day.vim 样例 yer ...

  5. linux中vim文本编辑器的默认模式是,Linux 下 vi/vim 文本编辑器超详细使用指南

    Linux下的编辑器最经常使用的就是vim或者vi文本编辑.vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了不少实用的功能. 大多数的linux/unix 发行版本 ...

  6. Linux 下 vi/vim 文本编辑器超详细使用指南(转载)

    转载于 https://blog.csdn.net/kingmax54212008/article/details/54142633 Linux下的编辑器最常用的就是vim或者vi文本编辑.vi 和v ...

  7. 马哥教育linux面授班37期第一周博客

    马哥教育linux面授班37期第一周博客   2019年5月5号晚,我怀着忐忑和激动的心情坐上了开往了北京的列车,我忐忑自己此行的目的地,马哥教育Linux第37期北京面授班,是因为我接下来五个月的时 ...

  8. vi/vim虐我千百遍,我待vi/vim如初恋

    文章目录 一.通过这篇文章你能学到什么? 二.我为什么要写这篇文章? 三.先来个自我介绍 四.vi和vim的区别 五.正题 (一)vi/vim编辑器的模式 1.VI模式 2.VIM模式 (二)vim的 ...

  9. linux vim修改字符串,Linux系统vi(vim)编辑器命令说明

    Linux系统vi(vim)编辑器命令说明 刘大喵 • 2019 年 02 月 06 日 vi(vim)是上Linux非常常用的代码编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim ...

最新文章

  1. php empty()和isset()的区别
  2. C++11中std::packaged_task的使用
  3. java exchange发邮件_java发送exchange邮件问题
  4. SSH secure shell 权威指南(转载)
  5. linux tunnel 与cisco 三层交换机的tunnel互联
  6. 【转】Linux上安装使用SSH(ubunturedhat)
  7. sql中使用“where 1=1 and ....“ 到底影响效率吗,回答不会也永远不会
  8. 查找单项链表中间元素,若有相同,取第一个
  9. JVM学习笔记二:JVM参数
  10. java发送会议邀请邮件模板_Spring 发送邮件 HTML邮件
  11. 亲身试验 pycharm 下载 并 安装 pygame包
  12. linux ntp 追赶,Linux 时间同步 ntpd
  13. pycharm中不能安装bs4的解决方案
  14. 关于Kubernetes规划的灵魂N问
  15. I2S接口以及Verilog实现数据接收
  16. 让iPhone不能自动下载系统更新的一个办法
  17. 无版权高清图片素材库pixabay
  18. 面试题目之:为什么选择veu?与其他框架对比的优势和劣势?
  19. Linux内核移植常见错误及解决方法
  20. 加强版坦克大战(java版)

热门文章

  1. 网优谷给大家简介SEO
  2. OSX上pf的简单配置笔记
  3. 《阿信》讲述了日本着名的百货连锁企业八佰伴创始人艰苦的过程
  4. 解决squid启动Pinger自动退出问题
  5. 协作机器人实现古法艾灸
  6. 那段记忆中的声音:单式评书再现江湖背后的AI技术
  7. 计算机科学系职业规划,计算机专业的职业生涯规划书
  8. vscode的格式化问题
  9. 多线程下httpClient报错 Connection pool shut down
  10. 为什么插入HDMI线,电脑的音响就没有声音了