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. C# 溢出检查

    checked: byte b = 255; checked { b++; } Console.WriteLine(b.ToString()); 执行出错:算术运算导致溢出. unchecked: b ...

  2. Angular JS学习之指令

    1.Angular JS通过称为指令的新属性来扩展HTML:通过内置的指令来为应用添加功能: 2.AngularJS指令:AngularJS指令是扩展的HTML属性,带有前缀ng-: **ng-app ...

  3. node.js整理 06异步编程

    回调 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了 function heavyCompute(n, callback) { var count = 0, i, j; for (i = ...

  4. js 的一点用法

     js 中的json对象,ajax返回数据dataType为json否则无法将数据转换成json对象 也就无法通过json字符串转换成对象object,那么他将始终是个字符串,也就无法进行 对象操作. ...

  5. PHP 生成二维码

    利用PHP QRcode生成二维码: php QRcode 官网 http://phpqrcode.sourceforge.net/ 在官网下载 phpqrcode.php就ok啦: 然后,查看自己的 ...

  6. js库写法

    前言: 现在javascript库特别多,其写法各式各样,总结几种我们经常见到的,作为自己知识的积累.而目前版本的 JavaScript 并未提供一种原生的.语言级别的模块化组织模式,而是将模块化的方 ...

  7. Word: How to Temporarily Disable Spell Check in Word

    link: http://johnlamansky.com/tech/disable-word-spell-check/ 引用: Word 2010 Click the “File” button C ...

  8. 【Linux程序设计】之进程间的通信

    这个系列的博客贴的都是我大二的时候学习Linux系统高级编程时的一些实验程序,都挺简单的. 实验题目:Linux环境下的进程间通信 实验目的:熟悉进程通信中信号概念及信号处理:掌握进程间的管道通信编程 ...

  9. Jquery_AjaxFileUpload插件的使用记录

    功能需求:Spring MVC框架下,实现无刷新页面上传图片,并展示图片预览效果 直接上代码: 1.图片预览效果 <%@ page contentType="text/html;cha ...

  10. GridView合并表头、多重表头(转)

    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { switch (e.Row.RowType) ...