10分钟 教你学会Linux/Unix下的vi文本编辑器

vi编辑器是Unix/Linux系统管理员必须学会使用的编辑器。看了不少关于vi的资料,终于得到这个总结。不敢独享,和你们共享。

  首先,记住vi编辑器的两个模式:1、命令模式 2、编辑模式

  在一个UNIX/Linux的shell命令或者一个以斜杠(/)、问号(?)或冒号(:)开始的vi命令后面用户需要键入回车键,而要切换到vi命令模式需要按Esc键。注意,以冒号(:)或者斜杠(/) 开始的vi命令会显示在屏幕底部,但其他命令都不会显示在屏幕上。

  打开、写入和关闭文件(使用Enter键)

  vi file       打开文件名为file的文件(UNIX shell命令)

  :w        将工作缓冲区的变化写入默认文件中

  :w file       将工作缓冲区的变化写入名为file的文件中

  :q         退出vi编辑器

  :wq        将工作缓冲区的变化写入文件并退出

  :q!        不将工作缓冲区的变化写入文件并退出vi编辑器

  插入文本(vi命令模式下使用)

  a        在当前光标位置的右边添加文本

  i        在当前光标的左边插入文本

  A        在当前行的末尾添加文本

  I        在当前行的开始出添加文本

  O        在当前行的上面新建一行

  o        在当前行的下面新建一行

   R        替换(覆盖)当前光标位置以及以后的若干文本

  J         连接光标所在行以及下一行,成为一行

  移动光标

  上下左右方向键     向箭头所示方向移动光标一个位置

  h            向左

  j            向下

  k            向上

  l            向右

  空格键          向右

  Backspace        向左

  Enter          向下移动到下一行的行首

  -(连字符键)      向上移动到上一行的行首

  纠正错误(vi命令模式下使用)

  x        删除一个字符

  dd        删除当前行

  ndd       上除当前行在内的n行

  u        撤销上一次操作(最后一步)

  U        撤销对当前行的所有操作

  拼写检查(UNIX shell命令)

  spell file       显示问及那file中找到的拼写错误

  ispell file       显示问及那file中找到的拼写错误

  搜索(vi命令模式下使用)

  /word      向前搜索第一个出现的word

  /         继续向前搜索下一个word

  ?word      向后搜索第一个出现的word

  ?        继续向后搜索下一个word  

  跳跃到指定行(vi命令模式使用)

  n+      向前(向下)跳跃n行

  n-      向后(向上)跳跃n行

  nG      跳跃到行号为n的行,G为Go

  G      跳跃到文件的底部

  设置行号(vi命令模式下使用)

  :set nu      在屏幕上显示行号

  :set nonu     取消行号

  复制和粘贴(vi命令模式下使用)

  "knyy      复制n行到缓冲区"k

  "kp       将缓冲区"k的内容粘贴到当前行的下面

  全局替换文本(vi命令模式下使用)

  :%s/old/new/g      用new替换文件中的所有old。s为substitution,替换的意思。g为global。

  编辑另一个文件(vi命令模式下使用)

  :e otherfile      编辑文件名为otherfile的文件

  为命令行编辑制定一个编辑器(UNIX shell命令)

  bindkey -v      指定vi编辑器(用于 tcsh)

   VISUAL=vi      指定vi编辑器(用于 ksh)

  set -o vi        指定vi编辑器(用于 bash)

  缓冲区:  

  前面讲过,vi编辑器设计上是对工作缓冲区的文件副本进行编辑。在使用vi编辑器的时候,用户还可以访问其他缓冲区。总共有36个缓冲区。

  ◆ 未命名缓冲区

  ◆ 已命名缓冲区 "a、"b、"c、……、 "z

  ◆  已编号缓冲区 "1、"2、"3、……、 "9

  未命名缓冲区有时也叫做一般缓冲区。在修改文本时,旧文本并没有被立刻删除。vi将旧文本放在未命名缓冲区直到用户删除修改更多的文本。这样就可以实现撤  销,具体命令为 u。因为vi只有一个未命名缓冲区,所以只能撤销一次。

  命令模式和编辑模式的切换:

如果不清楚当前所在的模式,可以连续按2次Esc键盘,主机会发出警报声,这样就肯定进入了命令模式。在命令模式下面,输入a A i I O o R都会进入编辑模式。所输入的这单个字符不会显示,也不会插入到文件中。

---︶ㄣ第二名

10分钟 教你学会Linux/Unix下的vi文本编辑器的更多相关文章

  1. 教你学会Linux/Unix下的vi文本编辑器

    vi编辑器是Unix/Linux系统管理员必须学会使用的编辑器.看了不少关于vi的资料,终于得到这个总结. 首先,记住vi编辑器的两个模式:1.命令模式 2.编辑模式. 在一个UNIX/Linux的s ...

  2. 【python】10分钟教你用python打造贪吃蛇超详细教程

    10分钟教你用python打造贪吃蛇超详细教程 在家闲着没妹子约, 刚好最近又学了一下python,听说pygame挺好玩的.今天就在家研究一下, 弄了个贪吃蛇出来.希望大家喜欢. 先看程序效果: 0 ...

  3. 10分钟教你用Python玩转微信之好友性别比例统计分析

    01 前言+效果展示 想必,微信对于大家来说,是再熟悉不过的了.那么,大家想不想探索一下微信上的各种奥秘呢?今天,我们一起来简单分析一下微信上的好友性别比例吧~废话不多说,开始干活. 结果如下: 02 ...

  4. 10分钟教你用Python玩转微信之抓取好友个性签名制作词云

    01 前言+展示 各位小伙伴我又来啦.今天带大家玩点好玩的东西,用Python抓取我们的微信好友个性签名,然后制作词云.怎样,有趣吧~好了,下面开始干活.我知道你们还是想先看看效果的. 后台登录: 词 ...

  5. 【C/C++】10分钟教你用C++写一个贪吃蛇附带AI功能(附源代码详解和下载)

    C++编写贪吃蛇小游戏快速入门 刚学完C++.一时兴起,就花几天时间手动做了个贪吃蛇,后来觉得不过瘾,于是又加入了AI功能.希望大家Enjoy It. 效果图示 AI模式演示 imageimage 整 ...

  6. 【python】10分钟教你用python如何正确把妹

    前言 今天没妹子约,刚好研究一下.如何用神奇的python打造一个把妹神器吧.看完这个,你们就能走向人生巅峰,迎娶白富美啦. 我知道你们想看看效果 image 当然啦,这只是测试版的效果,真正的版本可 ...

  7. 【python】10分钟教你用python下载和拼接微信好友头像图片

    前言 相信微信大家是用得再多也不过了.那么,对于python+微信,又能玩出什么新的花样呢?下面小编就给大家带来一个好玩的东西.用python下载所有的微信好友的头像,然后拼接成一张大图.这样,大家就 ...

  8. 【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)

    大家好,我叫小秃僧 这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能. 这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说 ...

  9. 【Linux】linux/unix下telnet提示Escape character is '^]'的意义

    在linux/unix下使用telnet hostname port连接上主机后会提示Escape character is '^]' 这个提示的意思是按Ctrl + ] 会呼出telnet的命令行, ...

随机推荐

  1. 实战weblogic集群之安装weblogic

    一.系统及软件版本 OS版本:Red Hat Enterprise Linux Server release 6.6WebLogic Server 版本: 10.3.3.0JDK版本:1.7.0_79 ...

  2. 关于TCP的粘包和拆包

    问题产生 一个完整的业务可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这个就是TCP的拆包和封包问题. 下面可以看一张图,是客户端向服务端发送包: 1. 第一种情况 ...

  3. freemarker使用map

    freemaker强大的地方是还可以使用map. 一个场景就是对应后端的type类型,  type=01,02,03,04,   我们可以在controller定义一个map  typeMap,好处就 ...

  4. Java EL 详细用法讲解

    本文主要介绍了Java EL的语法结构以及EL的使用方法,并结合例子代码讲解了Java EL对象.Java EL运算符以及Java EL函数.希望对Java开发者有所帮助. 一.EL简介 1.语法结构 ...

  5. 11th day

    今天MySQL数据库的基本知识就学完了,明天开始做小项目什么的,有点小激动啊... <?php // 定义$sql语句执行函数 function my_query($sql){ $result ...

  6. 堆排序中建堆过程时间复杂度O(n)怎么来的?

    首先这个循环是从i = headsize/2 -> 1,也就是说这是一个bottom-up的建堆.于是,有1/2的元素向下比较了一次,有1/4的向下比较了两次,1/8的,向下比较了3次,.... ...

  7. SCOI2013 多项式的运算

    ---恢复内容开始--- 又是一道裸数据结构题. 之前受序列操作的蛋疼写法影响,只用一个tag,不知道怎么记,之后看了下别人的,终于领悟要用两个tag,一个add,一个mul,维护相当简单,想清楚就行 ...

  8. ubuntu firefox 选中变成了删除

    在ubuntu下 我的firefox浏览器出现了问题.描述: 1.在firefox中所有能够删除的文字只要选中就自动删除了. 终端中 ibus-setup勾掉在应用窗口中启用内嵌编辑模式

  9. POJ 3384 Feng Shui 半平面交

    题目大意:一个人很信"Feng Shui",他要在房间里放两个圆形的地毯. 这两个地毯之间可以重叠,可是不能折叠,也不能伸到房间的外面.求这两个地毯可以覆盖的最大范围.并输出这两个 ...

  10. git 在linux中的使用

    1,经常使用操作 一,clone远程仓库 比如clone test项目的分支v1.0 git -c diff.mnemonicprefix=false -c core.quotepath=false ...