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. Codeforces Round #355 (Div. 2)-B

    B. Vanya and Food Processor 题目链接:http://codeforces.com/contest/677/problem/B Vanya smashes potato in ...

  2. 我的c++学习(7)引用和复制构造函数

    一.引用 什么是引用? 引用又称别名(alias),是一种非常特殊的数据类型.它不是定义一个新的变量,而是给一个已经定义的变量重新起一个别名,也就是 C++系统不为引用类型变量分配内存空间.引用主要用 ...

  3. 【Highcharts】 动态删除series

    先绘制,后删除多余 var chart = new Highcharts.Chart(options); if (chart.series.length > result.dataList0.l ...

  4. struts2总结一:MVC设计模式

    设计模式 一.什么是编程里面的设计模式? 1.设计模式是一套被反复使用,多数人知晓的,代码设计经验的总结. 2.模式必须是典型问题(不是个别问题)的解决方案. 二.设计模式的作用 1.解决一类问题的成 ...

  5. Android自动化测试 - Robotium之Robotium在不同分辨率下clickonview不支持解决方案

    使用Robotium中的clickonview方法进行点击操作时,可能在你本机上能够顺利执行,但把脚本移植到不同分辨率的设备下却有可能点不到控件的情况. 网上找了一些资料,基本一条语句可以搞定: 在m ...

  6. ReSharper 配置及用法(二)

    下载工具 一:Reshaper是什么 即便是那些整天攻击 .NET 和 C# 的人,也常常不得不承认 Visual Studio 确实是个够强大的 IDE,除非他认为更少的 IDE 功能和命令行调试才 ...

  7. hadoop datanode 挂机恢复后,多复制的块删除的问题

    发现: 如果到namenode,用start-all.sh启动datanode,则会删除该datanode上所有的数据 到datanode上用hadoop-daemon.sh start datano ...

  8. 争夺 & KM思想

    题意: 给一张二分图,每个点与两个特定点又一条边相连,边权非负,让你给这个二分图每个点一个顶标,让每一条边两端顶标和大于等于这条边.求出最小顶标和. 这当然是翻译过的题目... 原题: 小Y和小P无聊 ...

  9. float使内联支持宽高

    float使内联元素支持了宽高,可以设置宽高属性:float消除内联元素的空格:

  10. Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()

     dispatchTouchEvent (分发TouchEvent) 处理触摸事件分发,事件(多数情况)是从Activity的dispatchTouchEvent开始的.执行super.dispatc ...