vi编辑器,全称是visual interface,可以执行输出、删除、查找、替换等众多的文本操作。
vi并不是一个排版程序,不可以对字体、格式、段落等其他的属性进行编排。
vi是全屏文本编辑程序,没有菜单,只有命令。
语法:vi filename 打开或新建文件filename,并将光标置于第一行首
vi +5 filename 打开文件,并将光标置于第五行首
vi + filename 打开文件,并将光标置于最后一行行首
vi +/nimei filename 打开文件,并将光标置于第一个与nimei匹配的行首
vi -r filename 打开上次用vi编辑发生系统崩溃,恢复之前状态
删掉隐藏的.swp文件     原因未保存就关闭vi编辑器,文件只保存在内存中未保存在硬盘中
 

3种模式
命令模式进入输入模式:a 添加 在光标后添加
A 添加 在光标所在行行尾添加
i 插入 在光标前添加
I 插入 在光标所在行行首添加
o 在光标所在行下添加一行并进入输入模式
O 在光标所在行上添加一行并进入输入模式
输入模式进入命令模式:esc
命令模式进入末行模式::
末行模式进入命令模式:esc
命令模式下的操作
 
重点:命令模式可以切入到编辑模式,同理命令模式可以切换到末行模式,但编辑模式和末行模式不能互相切换
复制/粘贴
y 复制
p 粘贴
yy 是指将复制光标所在行(整行)
范围
e 光标所在位置到该字的最后一个字母
w 光标所在位置到下个字的第一个字母
b 光标所在位置到上个字的第一个字母
$ 光标所在位置到该行的最后一个字母
0 光标所在位置到该行第一个字母
) 光标所在位置到下个句子第一个字母
( 光标所在位置到该句子的第一个字母
} 光标所在位置到该段落最后一个字母
{ 光标所在位置到该段落的第一个字母
删除/修改
x 删除光标所在字符
dd 删除光标所在的行
r 修改光标所在字符,r后是要修正的字符
R 进入替换状态,输入的文本会覆盖原先资料,直到按ESC回到命令模式为止
s 删除光标所在字符,进入输入模式
S 删除光标所在的行,进入输入模式
cc 修改整行文字
u 撤消上次操作
. 重复上次操作
末行模式下的操作
查找替换
  • 查找/ ?(加你找的单词)
  • 定位光标:输入行号n
  • 使用字符串2替换当前行首次出现的字符串1:s/字符串1/字符串2
  • 使用字符串2替换当前行所有的字符串1:s/字符串1/字符串2/g
  • 将n1行到n2行中所有字符串1替换为字符串2:2,3 s/字符串1/字符串2/g
  • 将光标所在行到n行,中的字符串1替换为字符串2:.,5 s/字符串1/字符串2/g
  • 替换全文的字符串1为字符串2:% s/字符串1/字符串2/g
 
wq保存/退出
q 退出
w 保存
x 保存退出
! 强制

1月4日笔记 (vi编辑器)更新...的更多相关文章

  1. 1月4日笔记 vi编辑器

      Penn   vi编辑器,全称是visual interface,可以执行输出.删除.查找.替换等众多的文本操作. vi并不是一个排版程序,不可以对字体.格式.段落等其他的属性进行编排. vi是全 ...

  2. Unix\Linux | 总结笔记 | vi编辑器

    0 目录   新建文件夹   常用的命令    三种模式及切换    vi编辑器的启动选项及后续相关操作  其他--替换文本  其他--写入另一个文件     1  新建文件夹  vi [目录名/文件 ...

  3. linux 基本命令2(12月27日笔记)

    1.ifconfig 作用:用于操作网卡相关的指令 简单语法:#ifconfig      (获取网卡信息)   2.reboot 作用:重新启动计算机 语法1:#reboot             ...

  4. linux 基础命令(12月25日笔记)

    1.  cp指令指令:cp          (copy,复制)作用:复制文件/文件夹到指定的位置语法:#cp [-r] 被复制的文档路径 文档被复制到的路径选项:         -r:recurs ...

  5. 关于IIS的4月26日笔记

    常用命令: 31. regedit.exe----注册表 48. msconfig.exe---系统配置实用程序  80. services.msc---本地服务设置 93. regedit.exe- ...

  6. 5月23日笔记-js绑定事件、解绑事件、复合事件

    each() $("p").each(function(i,ele){ //alert(ele.innerHTML); alert($("p:eq("+i+&q ...

  7. 阳明-K8S训练营全部文档-2020年08月11日14:59:02更新

    阳明-K8S训练营全部文档 Docker 基础 简介 安装 基本操作 Dockerfile Dockerfile最佳实践 Kubernetes 基础 简介 安装 资源清单 Pod 原理 Pod 生命周 ...

  8. WPS 表格筛选两列相同数据-完美-2017年11月1日更新

    应用: 1.选出A列中的数据是否在B列中出现过: 2.筛选出某一批序号在一个表格里面的位置(整批找出) 3.其实还有其他很多应用,难描述出来... ... A列中有几百的名字,本人想帅选出B列中的名字 ...

  9. GIS大讲堂内所有讲座的索引(更新至2008年6月26日)(转)

    转自:http://www.cnblogs.com/xiexiaokui/archive/2008/11/20/1337934.html GIS大讲堂内所有讲座的索引(更新至2008年6月26日)   ...

随机推荐

  1. 在Eclipse下配置算法(第四版)运行环境

    第一步:配置Eclipse运行环境 Eclipse运行环境配置过程是很简单的,用过Eclipse进行java开发或学习的同学应该都很熟悉这个过程了. 配置过程: (1)系统环境:Windows7 64 ...

  2. 75.Java异常处理机制-自定义异常

    package testDate; //自定义异常 public class MyException extends Exception{ public MyException(){ } public ...

  3. oracle 如何将一个字段内容拆分多行显示

    例子: select regexp_substr('1,2,3,4,5', '[^,]+', 1, level)from dualconnect by level <= regexp_count ...

  4. 新建web项目myeclipse基本设置

    1. General --> Workspace --> UTF-82. General --> Editors --> Associations --> JSP --& ...

  5. sqlite3增删改查简单封装

    import sqlite3 class DBTool(object): def __init__(self): """ 初始化函数,创建数据库连接 "&quo ...

  6. mysql启动、关闭与登录

    按照上述三篇随笔中的方法安装mysql,其启动.关闭和登录方法如下. mysql启动基本原理:/etc/init.d/mysqld是一个shell启动脚本,启动后最终会调用mysql\bin\mysq ...

  7. 【题解】Luogu P4363 [九省联考2018]一双木棋chess

    原题传送门 这道题珂以轮廓线dp解决 经过推导,我们珂以发现下一行的棋子比上一行的棋子少(或等于),而且每一行中的棋子都是从左向右依次排列(从头开始,中间没有空隙) 所以每下完一步棋,棋盘的一部分是有 ...

  8. python简说(七)元组,集合

    一.元组 元组也是一个list,但是它的值不能改变 定义元组的时候,只有一个元素,后面得加逗号 oracle_info = (123,) 二.集合 1.集合天生就可以去重,集合是无序的 2.#交集 r ...

  9. 20145311 王亦徐《网络对抗技术》 逆向及BOF进阶实践

    20145311<网络对抗技术>逆向及BOF进阶实践 学习目的 shellcode注入:shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈 ...

  10. 基础选择器,长度与颜色,标签display,嵌套关系,盒模型,盒模型布局

    css基础选择器 # *(统配选择器): 控制html, body,以及body下所有用于显示的标签 # div(标签选择器): 该标签名对应的所有该标签 # .(class选择器)(eg: .div ...