当前位置: 首页 > news >正文

Linux下vi的使用

      进入vi的命令

  vi filename :打开或新建文件,并将光标置于第一行首

  vi + filename :打开文件,并将光标置于最后一行首

  vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename

  移动光标类命令[/b]

  n+:光标下移n行

  n-:光标上移n行

  H :光标移至屏幕顶行

  M :光标移至屏幕中间行

  L :光标移至屏幕最后行

  0:(注意是数字零)光标移至当前行首

  $:光标移至当前行尾

  插入文本类命令

  i :在光标前

  I :在当前行首

  o:在当前行之下新开一行

  O:在当前行之上新开一行

  删除命令

  ndw或ndW:删除光标处开始及其后的n-1个字

  ndd:删除当前行及其后n-1行

  x或X:删除一个字符,x删除光标后的,而X删除光标前的

  Ctrl+u:删除输入方式下所输入的文本

  搜索及替换命令

  /pattern:从光标开始处向文件尾搜索pattern

  ?pattern:从光标开始处向文件首搜索pattern

  n:在同一方向重复上一次搜索命令

  N:在反方向上重复上一次搜索命令

  选项设置


  list:显示制表位(Ctrl+I)和行尾标志($)

  number:显示行号

  最后行方式命令

  :n1,n2 d :将n1行到n2行之间的内容删除

  :w :保存当前文件

  :e filename:打开文件filename进行编辑

  :x:保存当前文件并退出

  :q:退出vi

  :q!:不保存文件并退出vi

  :e! 即可恢复成档案的原始状态!

原文的命令比较齐全,可以参考
原文地址:http://doc.linuxpk.com/40374.html

 

vi的使用http://linux-vbird.bluedata.org/linux_base/0310vi.htm

1, 基本上 vi 共分为三种模式,分别是『一般模式』、『编辑模式』与『指令列命令模式』三种!
一般模式:
以 vi处理一个档案的时后,一进入该档案就是一般模式了。 在这个模式中,你可以使用『上下左右』按键来移动光标,您可以使用『删除字符』或『删除整行』来处理档案内容,也可以使用『复制、贴上』来处理您的文件数据。
编辑模式:
在一般模式中可以处理删除、复制、贴上等等的动作,但是却无法编辑的!
要等到您按下『i, I, o, O, a, A, r, R』等字母之后才会进入编辑模式。注意了!通常在 Linux 中,按下上述的字母时,在画面的左下方会出现『 INSERT 或 REPLACE 』的字样,才可以输入任何字来输入到您的档案中!而如果要回到一般模式时,则必须要按下『Esc』这个按键即可退出编辑模式。
指令列命令模式:
在一般模式当中,输入『 : 或 / 』就可以将光标移动到最底下那一行.
在这个模式当中,可以提供您『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号 等等的动作则是在此模式中达成的!

转载于:https://www.cnblogs.com/zhongwh/archive/2012/01/29/2331385.html

相关文章:

  • 洛谷 - P4567 - 文本编辑器 - 无旋Treap
  • 戴尔联合微软开发私有云入门级系
  • 模板 - 可持久化无旋Treap
  • Windows Phone灵魂诠释:Metro UI界面完全解析
  • 深入浅出计算机组成原理学习笔记:局部性原理-数据库性能跟不上,加个缓存就好了(第36讲)...
  • 试了下xcode的arc
  • SCUT - 216 - 宝华科技树
  • oracle
  • 2019牛客暑期多校训练营(第八场) - B - Beauty Values - 水题
  • 免费ARP的作用
  • SCUT - 161 - 灯游 - 数学
  • service命令
  • JavaScript + ASP.NET
  • 用主机头名法实现一个IP建多个Web站点
  • SCUT - 484 - 平面上的点 - 数据结构
  • ES6指北【2】—— 箭头函数
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • angular组件开发
  • css属性的继承、初识值、计算值、当前值、应用值
  • echarts的各种常用效果展示
  • Linux快速复制或删除大量小文件
  • Making An Indicator With Pure CSS
  • PHP CLI应用的调试原理
  • Spark RDD学习: aggregate函数
  • use Google search engine
  • 基于web的全景—— Pannellum小试
  • 每天一个设计模式之命令模式
  • 排序算法之--选择排序
  • 如何用vue打造一个移动端音乐播放器
  • 山寨一个 Promise
  • 深度学习入门:10门免费线上课程推荐
  • 湖北分布式智能数据采集方法有哪些?
  • ​卜东波研究员:高观点下的少儿计算思维
  • #define
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (Matlab)使用竞争神经网络实现数据聚类
  • (Python) SOAP Web Service (HTTP POST)
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (solr系列:一)使用tomcat部署solr服务
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (十)c52学习之旅-定时器实验
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • 、写入Shellcode到注册表上线
  • ./和../以及/和~之间的区别
  • .apk文件,IIS不支持下载解决
  • .NET Core 2.1路线图
  • .NET 药厂业务系统 CPU爆高分析
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .net下简单快捷的数值高低位切换
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • ::什么意思