1、三种模式:

•Command mode 命令模式,用于输入命令,简单更改。
•Insert mode 插入模式,用于插入文本。
•Last line mode 末行模式,用于输入命令、视化操作、查找替换等。

2、七种常用操作:

输入文本     移动光标    删除文本

替换文本    搜索文本    其它辅助操作

保存文件, 退出编辑程序

3、详解:

文本:
• i        (insert)  在光标前插入文本
• I        在光标所在行首插入文本
• a       (append)  在光标后加入文本
• A       在光标所在行尾加入文本
• o       (open)  在光标所在行下面新加一行
• O     在光标所在行上面新加一行
•ESC  退出文本输入模式, 返回命令模式
 
光标:
•←            ↓              ↑             →              光标左下上右移动 
•h              j              k              l                光标左下上右移动
•home   end    pageup    pagedown
•^                 光标从当前位置移到本行行首
•$                 光标从当前位置移到本行行尾
•+                 光标下移一行
•-                  光标上移一行
•空格键        光标左移
•退回键        光标右移
• 0 把光标移到当前行的第一个字符处。
•$ 把光标移到当前行的最后一个字符处。 
•nG 将光标移至行号所指定的行的行首
•) 由光标所在位置至下一个句子的第一个字元。
•( 由光标所在位置至该句子的第一个字元。
•{ 由光标所在位置至该段落的最后一个字元。
•} 由光标所在位置至该段落的第一个字元。
 
•H命令:该命令将光标移至屏幕首行的行首.若在H命令之前加上数字n,则将光标移至屏幕第n行的行首。
•M命令: 该命令将光标移至屏幕显示文件的中间行的行首。
•L命令:该命令将光标移至屏幕显示文件的底行的行首。
•G命令:该命令将光标移至该文件的最后一列
 
删除:
•字符删除命令:x    dh
•字和行删除命令:dw    db   dd    d$    d0     <n>dd
•文本块删除命令:d)    d(     d}     d{
•相对屏幕删除:dH    dM    dL
•x:     删除光标所在的文字
•nx:   删除光标后面的n个字符
•X:    删除光标前面的一个字符
•nX:  删除光标前面的n个字符
•dd: 删除光标所在行
•ndd:删除光标所在行向下数n行

替换:

【替换所有的abc为bcd】

:%s/abc/bcd/g

【将文件中所有/usr/bin目录替换成/home】

:%s/\/usr\/bin/\/home/g

【在每行开头加入一个单词linux】

:%s/^/linux/g

【在每个单词后面加上一个s】

:%s/$*\>/s/g

•Ctrl + f向后滚一页。
•Ctrl + d向后滚半页。
•Ctrl + b向前滚一页。
•Ctrl + u向前滚半页。
•Ctrl + e屏幕向下滚一行。
•Ctrl + y屏幕项上滚一行。
 

tips(在命令模式下):

删除整行:dd或ndd(如5dd就是删除光标下面的5行内容)

粘贴:小p(粘贴到光标的后面)大P(粘贴到光标的前面)

复制:yy或nyy(如3yy就是复制此光标下的3行内容)

撤消与重复:u(撤消前一条命令);“.”(重复最后一条命令)

•命令方式下输入yy或nyy,n是一个具体的整数:复制行
•将光标移到要复制的地方,按p键粘贴。
•u     恢复最后一个指令之前的结果。
•U    恢复光标该行之所有改变。
 

末行模式:

•:q  系统退出vi返回到shell。在用此命令时,若编辑的文件没有被保存,则vi在窗口的最末行给出提示信息。
•:q!  vi放弃所作修改而直接退到shell下。
•:wq  先保存文件,然后再退出vi返回到shell。强制更新文件的修改时间
•:x  该命令的功能与命令模式下的ZZ命令功能相同。写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。

vi/vim使用小结的更多相关文章

  1. 【转载】vi/vim使用进阶: 指随意动,移动如飞 (二)

    本节所用命令的帮助入口: :help usr_03.txt :help motion.txt :help usr_29.txt :help scroll.txt :help folding 上一篇文章 ...

  2. 3.23 vi/vim:纯文本编辑器

    vi/vim 是Linux命令行界面下的文字编辑器,几乎所有的Linux系统都安装了vi,只要学会了vi这个编辑工具,就可以在任何Linux系统上使用它.而vim是vi命令的增强版(Vi IMprov ...

  3. Linux vi/vim(转载)

    Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主 ...

  4. vi/vim 的使用

    vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是一般模式.编辑模式与指令列命令模式. 这三种模式的作用分别是: 一般模式:以 vi 打开一个档案就直接进入一般模式了(这是默认的模式) ...

  5. 解决vi/vim中粘贴会在行首多很多缩进和空格的问题

    解决vi/vim中粘贴会在行首多很多缩进和空格的问题 secureCRT会将你原来的文本原封不动的按照字符串的样式发送给服务器.所以当你的服务器上的vim设置为autoindent的话,在i模式下,那 ...

  6. Linux下Vi/Vim使用笔记

    启动和关闭vim vi 打开 Vi/Vim 打开 Vi/Vim 并加载文件 <file> vi <file> vim编辑器的三种模式:一般模式.编辑模式和命令行模式在一般模式中 ...

  7. vi/vim基本使用方法

    vi/vim 基本使用方法本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了!i/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所 ...

  8. Linux vi/vim

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...

  9. Linux上vi(vim)编辑器使用教程

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...

随机推荐

  1. 【BZOJ 3529】【SDOI 2014】数表

    看Yveh的题解,这道题卡了好长时间,一直不明白为什么要······算了当时太naive我现在都不好意思说了 #include<cstdio> #include<cstring> ...

  2. jsrender for object

    <div id="result"></div> <script id="theTmpl" type="text/x-js ...

  3. 控件(文本类): RichTextBlock, RichTextBlockOverflow, RichEditBox

    介绍背水一战 Windows 10 之 控件(文本类) RichTextBlock RichTextBlockOverflow RichEditBox 示例1.RichTextBlock 的示例Con ...

  4. Java面试题(全)

    JAVA部分 什么是反射机制?反射机制应用(Struts中反射机制的应用) 答:运行状态中,对于任意一个类,都可以知道它的所有属性和方法,对于任意一个对象都可以调用它的任意一个方法,这种动态获取信息以 ...

  5. MAC OS VPN使用指南

    L2TP/IPSec VPN - Mac OS 使用指南 一.打开Mac的联网设置. 二.然后点左边的加号,添加新的连接. 三.选择VPN(L2TP),点击创建(Create). 四.输入你购买的VP ...

  6. [日常训练]training

    Description 一条线上有栋楼,第栋楼有层,每层有1个价值为的物品. 可以花费1个单位时间完成以下3种移动: 1.在同一栋楼中向上或者向下走一层; 2.如果此刻在顶楼,可以通往1楼; 3.从当 ...

  7. ubuntu下编译caffe

    Ubuntu下编译caffe 纯粹是个人编译的记录.不用CUDA(笔记本是amd卡,万恶的nvidia):不手动编译依赖包(apt-get是用来干啥的?用来直接装二进制包,以及自动解决依赖项的) ca ...

  8. sstream使用简介

    sstream即字符串流.sstream有三种类:ostringstream:用于输出操作,istringstream:用于输入操作,stringstream:用于输入输出操作其实我感觉只用第三个就够 ...

  9. dedecms /member/myfriend_group.php SQL Injection Vul

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 Dedecms会员中心注入漏洞 Relevant Link http:/ ...

  10. 【Alpha阶段】第六次Scrum例会

    会议信息 时间:2016.10.27 21:30 时长:30min 地点:大运村1号公寓5楼楼道 类型:日常Scrum会议 个人任务报告 姓名 今日已完成Issue 明日计划Issue 工作困难 今日 ...