Vi有三种模式,分别为命令行模式、一般模式和编辑模式。在命令行输入“Vi 文件名”,即可进入Vi。常用命令如下:
一.一般模式
翻页
[Ctrl]+[f]: 向下翻一页,相当于[Page Down]按键。
[Ctrl]+:向上翻一页,相当于[Page Up]按键。
[Ctrl]+[d]:向下翻半页。
[Ctrl]+:向上翻半页。

搜索与替换
/test:从光标处开始,向下寻找一个名为test的字符串。
?test: 从光标处开始,向上寻找一个名为test的字符串。
n:重复前一次搜索,即继续向下搜索下一处。
N:与n相反,反向进行前一个搜索,即向上搜索。
:n1、n2s/test1/test2/g:在n1行与n2行之间寻找test1这个字符串,并将其替换为test2。n1、n2均为数字。
:1、$s/test1/test2/gc:在第一行与最后一行之间寻找test1这个字符串,并将其替换为test2,每次替换前会询问是否替换。

删除、复制与粘贴
x、X:x为向后删除一个字符,X为向前删除。
nx:n为数字,连续向后删除n个字符。
dd:删除光标所在行。
ndd:n为数字,从光标位置开始,删除向下n行。
yy:复制光标所在行。
nyy:n为数字,复制光标所在向下n行。
p、P:p将已复制的数据粘贴到光标的下一行,P粘贴到上一行。
u:还原前一个操作,即撤销。

移动光标
n:n表示数字,按下数字后再按空格键,光标会向右移n个字符。
0:数字0,光标移到行首。
$:光标移到行末。
G:光标移到这个文件的最后一行。
nG:n为数字,光标移到文件的第n行。
h:光标左移一个字符。
l:光标右移一个字符。
j:光标下移一个字符。
k:光标上移一个字符。

二.编辑模式
按下列键可以进入编辑模式:i、I、a、A、o、O、r、R
i、I:i在当前光标所在处输入文字;I在当前所在行的第一个非空格符处插入。
a、A:a从当前光标所在的下一个字符处开始插入;A从光标所在行的最后一个字符处开始插入。
o、O:o在当前光标所在行的下一行处插入新的一行;O在当前光标所在处的上一行插入新的一行。
r、R:r替换光标所在的那一个字符;R会一直替换光标所在的文件,直到按[Esc]键为止。
Esc、Ctrl+C:退出编辑模式,回到一般模式。

三.命令行模式
:w:保存编辑过的数据到硬盘。
:W:强制保存,比如针对只读文件作修改想要保存时。
:q:退出vi。
:q!:不保存退出vi。
:wq:保存退出vi。
:e!:将文件还原到最原始的状态。
:w [filename]:另存为一个新的文件。
:r [filename]:读入另一个文件的内容。
:set nu:显示行号。
:set nonu:取消行号。

Vi命令详解的更多相关文章

  1. Linux——vi命令详解

    转载 Linux--vi命令详解   原文链接:https://blog.csdn.net/cyl101816/article/details/82026678 vi编辑器是所有Unix及Linux系 ...

  2. 转载:linux vi命令详解

    转自:http://www.cnblogs.com/mahang/archive/2011/09/01/2161672.html 刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编 ...

  3. liunx下vi命令详解

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

  4. (转)Vi命令详解

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

  5. vi命令详解(转)

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

  6. linux vi命令详解

    刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指 ...

  7. linux vi命令详解2

    刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指 ...

  8. vim/vi 命令详解

    在工作中,要对服务器上的文件进行的修改,可以使用ssh远程登录到服务器上,并且使用vi进行快速的编辑即可,在没有图形界面的环境下,要编辑文件,vi是最佳选择! vi命令是Linux中最经典的文本编辑器 ...

  9. Linux/Mac vi命令详解

    刚开始学着用Linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指 ...

  10. linux文件编辑VI命令详解

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

随机推荐

  1. linux awk 中 RS,ORS,FS,OFS 区别与联系【转】

    linux awk 中 RS,ORS,FS,OFS 区别与联系 http://blog.csdn.net/jesseen/article/details/7992929

  2. Android隐藏标题栏

    打开程序,在onCreate()方法中添加如下代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(saved ...

  3. 9.21 investments - chapter 4 - Summary

    转载请注明来自souldak,微博:@evagle MUTUAL FUNDS AND OTHER INVESTMENT COMPANIES KEYWORDS: investment company n ...

  4. hdu 4277 USACO ORZ(dfs+剪枝)

    Problem Description Like everyone, cows enjoy variety. Their current fancy is new shapes for pasture ...

  5. C++编程规范之20:避免函数过长,避免嵌套过深

    摘要: 短胜于长,平胜于优,过长的函数和嵌套过深的代码块的出现,经常是因为没能赋予一个函数以一个紧凑的职责所致,这两种情况通常都能够通过更好的重构予以解决. 每个函数都应该顾其名而能知其义,易于理解的 ...

  6. lesson5:利用jmeter来压测消息队列(activemq)

    本文讲述了利用jmeter来压测消息队列,其中消息队列采用apache的activemq,jmeter本身是支持符合jms标准消息队列的压测,由于jmeter的官方sampler配置比较复杂,本文直接 ...

  7. Objective-C基础学习笔记——对象初始化

    obj中创建新对象有两种方式:[classname new]和[[classname alloc] init].两种方法等价,Cocoa惯例是使用alloc和init. 1.分配对象: allocat ...

  8. mysql简单练习

    数据库入门 2.1 引入 数据保存到内存: 优点: 1)读写非常快 缺点: 1)程序关闭导致数据丢失 数据保存到文件: 优点: 1)数据可以永久保存 缺点: 1)频繁地IO操作,效率不高! 2)数据管 ...

  9. URL中的空格字符如何编码

    URL encoding the space character: + or %20? 简单理解: ‘?’前的路径中的空格必须为’20%’ ‘?’后的参数中空格可以被编码成’+’(正常情况),然而有时 ...

  10. [AngularJS] Using AngularJS's ngClass

    .blue{ color: blue } .bold{ font-weight: bold; } .large{ font-size: 40px; } ngClass can accept an ar ...