今天下午看了vi频繁使用的操作,现在记录,为了方便日后查询。

按vi模式。进入命令3部分。

(一) 一般模式下

字符操作:上下左右箭头(或kjhl)能够实现光标上下左右移动一位。

假设想要进行多次移动,能够使用数字+对应的操作符(如:30j表示向下移动30行)。

:x,X;x表示向后删除一个字符,X表示向前删除一个字符。nx表示连续向后删除n个字符。

:0,$;0(是数字不是字母o)移动到这一行的最前面字符;$移动到这一行最后面的字符。

页操作: Pg up屏幕向上移动一页。Pg Dn屏幕向下移动一页

行操作:G,gg,n[Enter];G移动到这个文件的最后一行,nG,表示移动到这个文件的第一行。gg表示移动到这个文件的第一行;  n[Enter]:n为数字,光标向下移动n行。

查找:/word:向下查找一个名为word的字符串;  ?word:向上查找一个名为word的字符串。

替换::n1,n2s(注意s)/word1/word2/g(gc替换时要用户确认):n1,n2为行数,再n1到n2行之间查找word1并用word2替换。

:1,$s/word1/word2/g(gc),$s表示最后一行,其余含义同上。

行删除:dd删除光标所在那一行;ndd,删除光标所在的向下n行。如10dd表示连续删除10行。

复制与粘贴: yy复制光标所在那一行。nyy复制光标所在行向下n行。20yy表示复制20行。

p表示将复制的数据在光标的下一行粘贴,P表示在光标的上一行粘贴。

其他:u表示复原,[Ctrl]+r表示反复一次,“.”(小数点)表示反复上一次操作。

(二)一般模式切换到编辑模式

主要是光标插入的位置随命令的不同而不同。

i,I; o,O;a,A;r,R;等。

(三)一般模式切换到命令行模式

:q离开vi;

:q!强制不保存文件离开。

:w[filename],将编辑的数据保存为还有一个文件。

:r[filename],在编辑的数据中读入还有一个文件,放到末尾。

:n1,n2 w[filename]。将n1到n2的内容保存成filename文件

:set nu显示行号

:set nonu 与set nu相反。取消行号

版权声明:本文博客原创文章。博客,未经同意,不得转载。

最新文章

  1. QT 文件对话框(QFileDialog)
  2. Hbuilder开发HTML5 APP之打开新页面
  3. 仿google art图片预览算法及demo(web版本)
  4. Linux 两个目录浅对比拷贝
  5. jenkins集成自动化部署插件(一) deploy-plugin
  6. php 安全处理方案
  7. xcodebuild导出ipa方法
  8. [BZOJ 1004] [HNOI2008] Cards 【Burnside引理 + DP】
  9. linux如何执行后台进程
  10. 双数组trie树的基本构造及简单优化
  11. 为什么需要Docker?
  12. c/c++/java如何访问数据库(优秀博文)
  13. matlab绘图与可视化
  14. PowerShell 实现批量下载文件
  15. With As 用法
  16. RESTful 架构详解
  17. 谈一谈Crsf和XSS攻击
  18. linux-安装-源码安装
  19. 【挑战赛16A】【取石子】【组合数学】
  20. [WPF 知识总结系列] —— 基本控件的简单样式集合

热门文章

  1. JavaScript中BOOLEAN类型之三种情景代码举例
  2. 实现拖拽上传文件的一款小控件——dropzone
  3. 利用C#与AE调用GP工具
  4. android 发送http请求
  5. 【u011】乘法难题
  6. POJ - 2236Wireless Network-并查集
  7. poj 2965 The Pilots Brothers' refrigerator
  8. 一个好汉一个帮:前端UI改造
  9. 后台报错java.lang.IllegalArgumentException: Invalid character found in the request target.
  10. [NPM] Pipe data from one npm script to another