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. 简单运用 activity 的 button 点击事件

    今天我们要讲的主要是四大组件之一Activity Activity 在英文中是活动的意思.活动就是我们与用户进行交互的一个场所. activity 整个的活动流程是什么呢?我们用一个图来看下 当然今天 ...

  2. uva 10034 Problem A: Freckles

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  3. 通过Linux系统Cron执行OwnCloud计划任务

    通过Linux系统Cron执行OwnCloud计划任务 02/02/2013 CRON的确是一个非常有用的功能,它有效减少了系统的负载,在将WordPress和StatusNet的任务计划都转换到Cr ...

  4. 用vlc SDK创建一个播放视频文件和RTSP流视频的Demo

    #include <stdio.h> #include <tchar.h> #include <time.h> #include <windows.h> ...

  5. 解密随机数生成器(二)——从java源码看线性同余算法

    Random Java中的Random类生成的是伪随机数,使用的是48-bit的种子,然后调用一个linear congruential formula线性同余方程(Donald Knuth的编程艺术 ...

  6. HDOJ(HDU) 1491 Octorber 21st

    Problem Description HDU's 50th birthday, on Octorber 21st, is coming. What an exciting day!! As a st ...

  7. libvirtVirsh

    virsh基于不同协议远程连接libvirt drivers(Hypervisors) 基于OS系统账号ssh登陆

  8. 兼容ie6/ff/ch/op的div+css实现的圆角框

    <!DOCTYPE html> <html> <head> <title>青春不迷茫:寻梦时代的“蚁族”逆袭之旅- 职场管理专题-中国人力资源开发网-中 ...

  9. JavaWeb:基于MVC设计模式的一个小案例(一)

    (未经允许,请勿转载,谢谢.) 本案例的处理过程: 客户端发送一个请求给服务器,服务器把这个请求给Servlet,Servlet 获取请求信息,根据请求信息的情况去调用 model (在这里是一个普通 ...

  10. hibernate之关系映射上

    分别创建user,farm,user_general三张表 create table user( uuid bigint not null auto_increment, name ), age in ...