vi文本编辑器的使用
一.vi的模式
 命令模式:vi启动默认进入的模式,可进入输入模"i",或末行模式(:),除了可以完成命令的功能外,也是后两种模式的转换点
 输入模式:即文本辑辑状态,最后一行显示"-- INSERT --"提示,按ESC返回到命令模式
 末行模式:可完成一些复杂操作,以":"开始,执行完一个末行命令后自动返回命令模式

二.基本使用
 1.vi 编辑器的启动与退出:

(1).使用命令"vi"直接进入编辑环境
 (2).在命令模式下输入":q!",可以强行退出编辑环境,对文件修改不进行保存
 (3).以文件名作为"vi"命令的参数时,若存在此文件,则vi可对内容进行编辑,若不存在,打开以参数名命名的空文件

2.文件操作:

(1).打开新文件:在末行模式下":e filename"关闭当前文件并打开新文件,":e! filename 强制关闭当前文件并打开新文件"
 (2).读取文件内容到当前文件:":r filename",读取的文件内容粘贴到当前文件光标所在行的下面
 (3)保存文件:命令为":w [filename]",如果文件已经命名,可直接使用":w"命令的参数,如果没有命名,第一次保存时需指定文件名作为参数
 (4).另存为文件:命令为":w filename",只保存到新文件,而不更新原来文件的内容
 (5).退出vi编辑器:退出格式为":q",保存并退出为":wq",强行退出为":q!"
 
 3.光标的移动操作(命令模式下)

(1).光标方向移动:"h"左、"l"右、"k"上、"j"下
 (2).翻页移动:"ctrl+f"前一页、"ctrl+b"后一页、"ctrl+u"前半页、"ctrl+d"后半页
 (3).行内快速跳转:"^"本行首字符、"$"本行尾字符、"w"后一单词首字母、"b"前一单词首字母、"e"后一单词尾字母;可添加数字组合使用,例如:"3w"后三个单词首字母、"4b"前4个单词首字母、"5e"后5个单词尾字母
 (4).文件内行间跳转:显示行号":set nu",取消显示行号":set nonu","1G"跳转到首行,"G"跳转到末尾行,"#G"跳转到第#行
 
 4.编辑操作

(1).进行输入模式:"i"当前光标处,"a"当前光标后,"A"当前行末,"o"当前行下插入新行,"O"当前行上插入新行,"cw"删除当前光标到所在尾部字符,"c$"删除当前光标到行尾的字符,"c^"删除当前光标(不包括)之前到行首的字符;以上记忆如有困难,可只记"i"从命令模式进入输入模式,完成编辑后"Esc"退回到命令模式
 (2).输入模式的操作:上下左右方向进行光标移动,"Home/End"定位光标到行首行尾,"Page Up /Down"上下翻页,"Backspace"左侧字符的删除,"Delete"删除光标位置的字符
 (3).删除操作:在命令模式下,可用以下命令完成删除操作,"x"光标处单个字符,"dd"光标所在行,"dw"当前字符到单词尾(含空格),"de"当前字符到单词尾(不含空格),"d$"当前字符到行尾,"d^"当前字符到行首,"J"合并当前行与下一行的内容,可添加数字配合使用,例如"3x"当前光标向右3个字符,"2dd"从当前行开始向下两行文本,"3dw"当前光标向右3个单词,"2de"当前光标向右两个单词(保留一个空格),"5J"合并5行文本
 (4).撤销操作:在命令模式下,"u"取消最近一次操作,可重复使用,"U"取消对当前行进行的所有操作,"Ctrl+R"对"u"产生的撤消进行恢复
 (5).复制操作:"yy"整行,"yw"光标到单词尾,"y$"光标到行尾,"y^"光标到行首;与数字组合使用,"5yy"当前及后续共5行,"3yw"当前光标开始的3个单词;末行命令":m,ny"m行到n行之间的文本,例如:":100,200y"100行到200的内容
 (6).粘贴操作:在命令模式下,使用"p"将缓冲区中的内容粘贴到当前文档

5.查找与替换操作(末行模式)

(1).自上而下:":/word"查找指定的字符串,"n"查找下一个(自上而下)"N"反向查找下一个(自下而上)
 (2).自下而上:":?word"自下而上查找指定字符串,"n"查找下一个(自下而上)"N"反向查找下一个(自上而下)
 (3).普通替换:":s/old/new"由s开始,"old"指被替换的字符串,"new"替换成哪个字符串,此命令只替换当前行中第一个匹配的字符串
 (4).行内全部替换:":s/old/new/g",当前行内所有匹配的字符串
 (5).在行区域内进行替换:":#,#s/old/new/g","#,#"表示两个行号之间的行区域,例如"3,5"表示第3行到第5行
 (6).整个文件内的替换操作:":%s/old/new/g",加%表示整篇文档,危险,慎用
 (7).使用替换确认功能:在原替换命令后加"c"可提供确认功能,例如:":s/old/new/c",":s/old/new/gc",":#,#s/old/new/gc",":%s/old/new/gc";替换命令确认后的提示为"replace with word (y/n/a/q/l/^E/^Y) ?",其中"y"替换,"n"放弃,"a"所有,"q"退出
 
三、编辑器的多文件操作
 
 1.多文件操作的vi启动:"vi [file1] [file2] .."后跟多个文件名作为参数即可,第一个参数显示在屏幕上,其它文件处于编辑后台状态
 2.多文件切换命令:
 (1).显示多文件信息:":args"结果中显示打开的文件,"[]"内为当前显示文件
 (2).前后切换文件:":next"显示后一文件,":prev"显示前一文件,加"!"为强制切换,不保存当前文件
 (3).定位首文件和尾文件:":first"定位首文件,":last"定位尾文件
 (4).快速文件切换:已经用某个切换命令进行文件切换后,"Ctrl+^"可快速切换到前状态

转载于:https://www.cnblogs.com/showmylym/archive/2012/06/03/2532510.html

vi文本编辑器的使用相关推荐

  1. vb.net中report不显示中文_Ubuntu中vi文本编辑器的使用

    最近在使用ubuntu,对于一个已经熟悉centos下的vi编辑器来说,简直是太变态了,各种不习惯.下面给大家分享下Ubuntu下的vi编辑器详细用法. Ubuntu中vi文本编辑器的使用 :w !s ...

  2. (三)Linux vi 文本编辑器,用户管理,组管理,Sudo命令,时间管理

    文章目录 具体内容 1.1 vi 文本编辑器 1.2 用户权限管理,组管理和时间管理 1.2.1 用户管理 1)保存用户信息的文件:/etc/passwd 2)保存用户密码信息的文件:/etc/sha ...

  3. 常见的Linux查看检索归档文件及vi文本编辑器操作大全

    常见的Linux查看检索归档文件及vi文本编辑器操作大全 一.Linux目录结构 1.1 树形目录结构 1.2 根目录 1.3 常见的子目录 二.查看及检索文件 2.1 查看文件内容 -- cat命令 ...

  4. Vi文本编辑器的使用方法

    一.什么是vi 是一种文本编辑器,是Visual interface的简称: 而vim则是vi的强化版vi plus,专业全称Vi improved. 二.vi的优势 所有的类Unix系统(Unix ...

  5. Linux系列 使用vi文本编辑器

    作者简介:一名云计算网络运维人员.每天分享网络与运维的技术与干货.   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.vi文本编辑器 1.使用vi文本编辑器 2.vi ...

  6. Linux VI文本编辑器

    VI文本编辑器   学会使用 vi 编辑器是学习 Linux 系统的必备技术之一,因为一般的 Linux 服务器是没有 GUI 界面的,Linux 运维及开发人员基本上都是通过命令行的方式进行文本编辑 ...

  7. linux实验六vi文本编辑器,Linux-实验六-vi文本编辑器.docx

    实验六Vi文本编辑器 上机实验容: 练习一: 请在/root这个目录下建立一个名为vitest的目录; [root@localhost [root(aiocalhost [rooWlocalhost ...

  8. linux 中vi中复制命令,使用vi文本编辑器及Linux复制粘贴小技巧

    想成为一个高效的DBA,离不开熟练使用vi编辑器,尤其是准备OCM考试的人员更为如此.另外,在Linux系统中,通过鼠标左键选中的文字,再通过按住鼠标中间滚动条来粘贴功能也是需要掌握的小技巧.我接触L ...

  9. linux操作系统 第03章 vi文本编辑器

    第3章    vi文本编辑器 3.1  vi文本编辑器概述 与Unix相同,Linux本质上是一个文本驱动(text-driven)的操作系统.文本文件就是全部由ASCII码字符及某种语言的编码字符构 ...

最新文章

  1. 周志华、张潼亲自辅导AI课程,DeeCamp 2019正式启动
  2. antimalware service executable占用内存过高_Win10系统svchost.exe进程占用内存和网速过高的解决方法...
  3. jsp 防止sql注入 之 preparestatement篇(转载)
  4. 史上最全的Linux常用——目录和文件管理命令——收藏这一篇就够了!(超全,超详细)
  5. Kickstart+NFS+DHCP+TFTP+PXElinux实现CentOS的网络自动安装
  6. SAP UI渲染模式:客户端渲染 VS 服务器端渲染
  7. http://jingyan.baidu.com/article/2009576193ee38cb0721b416.html
  8. Java开发之I/O读取文件实例详解
  9. PPA 软件源 ppa:ondrej/php 在哪里找到的
  10. 基于Matlab系统的HVDC系统
  11. spacedesk安卓_【图吧小白教程】安卓平板改数位板
  12. 湘源控规计算土石方流程
  13. SIFT(Scale Invariant Feature Transform) 算法小结及实验
  14. 服装尺寸 html,国家标准服装尺寸表
  15. Python实现MATLAB bi2de函数
  16. DWG中注记平移问题
  17. mac版MySQL初始密码修改
  18. Kinect for Unity检测身高方法
  19. Elasticsearch7.8
  20. NI无线通信与射频技术学习资源汇总

热门文章

  1. mysql索引的方法_mysql查看索引方法
  2. 终版!思科网络设备基础命令大全(三)
  3. OpenKruise v0.10.0 新特性 WorkloadSpread 解读
  4. 典型案例 3:十分钟搭建弹性可扩展的 Web API
  5. 技术解析系列 | PouchContainer CRI的设计与实现
  6. (一)机器学习数据处理
  7. android 访问公共文件夹权限_手机应用获取了储存权限后,可以访问你整个文件吗?...
  8. java comparator 降序排序_【转】java comparator 升序、降序、倒序从源码角度理解
  9. skywalking原理_SkyWalking 源码分析 —— Collector Client Component客户端组件
  10. 获取当前经纬度php腾讯地图,PHP腾讯地图经纬度转百度地图经纬度