vi和vim一直被人津津乐道,到底是什么使得它们如此受欢迎?

  vi分为3种模式:一般模式,编辑模式,命令行模式。

(1)一般模式:

  进入vi后,默认就是一般模式。

  用处:方便地移动光标,删除字符/整行,复制,粘贴。

  以下是些常用的命令:

方法 解释 例子
num + 方向键 重复方向键num次 20↑就是向上移动20次
num + 空格键    向右移动num个字符距离 10<space>就向右移动10位
0 或 home键 去到当前这行的最前面  
$ 或 end键 去到当前这行的最后面  
G 移到最后一行  
num + G 移到第num行 10G就表示移到第十行
gg 移到第一行  
num + enter 向下移动num行 10<enter>就向下移动10行
/word 向下找word这个字符串 /kaima表示向下找kaima这个字符串
?word 向上找word这个字符串 ?kaima表示向上找kaima这个字符串
:n1,n2s/word1/word2/g 在n1和n2行之间找出word1并替换为word2 ;10,20s/kaima/good/g 在第10到20行间找出kaima并替换为good
:1,$s/word1/word2/g 从第一行到最后一行找出word1并替换为word2 :1,$s/kaima/good/g
num + x 连续删除num个字符 10x表示连续删除10个字符
dd 删除当前整行  
yy 复制当前整行  
p, P p在下一行粘贴,P在上一行粘贴  
u 撤销上一个动作  
[Ctrl] + r 重复上一个动作

(二)编辑模式

用处:编辑内容。

i,I i从光标处插入,I从当前行第一个非空字符处插入
a,A a从光标的下一个字符处插入,A从当前行最后一个字符处插入
o,O o在当前行下插入新的一行,O在当前行上插入新的一行
r,R r只替换当前的字符,R一直替换光标所指的字符(ESC停止)

(三)命令行模式

用处:保存,离开,修改设置。

:w 保存文件
 :q 离开vi
 :wq 保存后离开

加上!有强制的意思,比如:w! 表示强制保存(即使文件为只读)。

  以上只是些常用的命令,满足日常的使用,但这并不全,http://www.cnblogs.com/88999660/articles/1581524.html这篇文章比较全面地列出了vi的命令,可以参考。

vi/vim初步接触的更多相关文章

  1. 为什么要使用puppet 及初步接触

    为什么要使用puppet 及初步接触   1.简介 云计算环境下,密度高,机器数量多,还要求弹性和伸缩性,这对于运维提出更高的要求.系统管理员需要经常安装操作系统,对系统参数进行配置和优化,对人员进行 ...

  2. vi 编辑器初步

    vi 编辑器初步 4,vi进入后是命令模式 ,可以用i o s 进入插入模式 i ,在当前字符位置插入,o为新开一行插入,s删除当前字符添加 5,r 为直接替换当前字符 6,到行头按0,$为到行尾到未 ...

  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. Python profiling

    Profiling(性能调试)是我一直很感兴趣的一个话题,之前给大家介绍过Datadog这个工具,今天我们来看看Python语言中有哪些方法来做Profiling. Poorman's Profile ...

  2. TCP/IP详解2 学习笔记---mbuf

    1,mbuf就是存储要发送数据的memery buf,类似于skb_buf.不过结构比较简单. /* header at beginning of each mbuf: */ 这个结构用来描述mbuf ...

  3. ural 1343. Fairy Tale

    1343. Fairy Tale Time limit: 1.0 secondMemory limit: 64 MB 12 months to sing and dance in a ring the ...

  4. input属性控制弹出键盘类型

    /**   * ios弹起数字键盘有三种方法   * 1. <input type="number"> 可以弹起带有小数点的键盘,可以键盘不干净,有其它各种字符,可切换 ...

  5. Windows7下安装MongoDB

    1.下载地址:http://www.mongodb.org/downloads(32位还是64位自行选择).我下载的是:mongodb-win32-x86_64-2.4.5.zip 2.解压把mong ...

  6. 最短路径dijkstra算法

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  7. 1301. The Trip

    A number of students are members of a club that travels annually to exotic locations. Their destinat ...

  8. js的BOM对象完全解析

    BOM即浏览器对象模型,它包括如下一些对象! (一)screen对象,Screen 对象中存放着有关显示浏览器屏幕的信息. 常见的属性有: availHeight:返回显示屏幕的高度 availWid ...

  9. [深入浅出Windows 10]实现饼图控件

    13.2 实现饼图控件 上一小节讲解了动态生成折线图和区域图,对于简单的图形这样通过C#代码来生成的方式是很方便的,但是当我们的图表要实现更加复杂的逻辑的时候,这种动态生成的方式就显得力不从心了,那就 ...

  10. 【异常】java.lang.LinkageError: loader constraints violated

    [问题背景]      南非客户帐单提醒功能过程中的一个问题,当启动服务器后,后台报java.lang.LinkageError: loader constraints violated when l ...