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. toast组件较为完美版本

    <!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...

  2. iOS推送 再备

    这是一篇编译的文章,内容均出自Parse.com的iOS开发教程,同时作者还提供了视频讲解.本文将带领开发者一步一步向着iOS推送通知的深处探寻,掌握如何配置iOS推送通知的奥义. 介绍一点点背景资料 ...

  3. 算法:求 Huffuman树 构造费用

    问题背景:            Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程.            给出一列数{pi}={p0, p1, …, pn-1}, ...

  4. SPOJ3267--D-query (主席树入门练习)

    题意:查找区间内不同数字的个数. 两种做法,一种是 树状数组离线,另一种就是主席树. 树状数组离线操作的链接 http://www.cnblogs.com/oneshot/p/4110415.html ...

  5. vb安装过程中 ntvdm.exe[9696]中发生未处理的win32异常

    最近电脑总是出问题导致我的学习效率很低,前几天在用VB6.0的时候有个知识点不太熟悉,于是按F1发现不会出来帮助文档.突然想到重新装系统之后忘记了安装MSDN帮助插件,就在我安装这个软件的时候发现电脑 ...

  6. socket编程2

    package tcp; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOExceptio ...

  7. MyBatis的简单操作

    这里将的是简单的增.删.改.查等基本操作 首先创建java项目,导入相应的依赖包,这里可以参考上一篇博客 1.添加数据 在jike.book.pojo包中,新建java类 JiKeUser.java: ...

  8. css浮动+应用(瀑布流效果的实现)

    首先是index.html文件: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  9. 【转】asp.net mvc webapi+angular.js案例

    参考地址:http://www.mamicode.com/info-detail-892383.html 大家好,本文用一个简单的demo演示AngularJS在MVC中的使用,在学习这个demo之前 ...

  10. asp.net 分页类

    PaginatedList.cs using System;using System.Collections.Generic;using System.Linq;using System.Web; n ...