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. sublime每次打开时都提示升级,怎么取消这个弹出框?

    答案其实很简单,设置如下: 进入Preferences -> Settings-User ,添加 "update_check": false 重启Sublime. 发现了什么 ...

  2. hiho #1055 : 刷油漆

    上回说到,小Ho有着一棵灰常好玩的树玩具!这棵树玩具是由N个小球和N-1根木棍拼凑而成,这N个小球都被小Ho标上了不同的数字,并且这些数字都是处于1..N的范围之内,每根木棍都连接着两个不同的小球,并 ...

  3. Poetize6: Acting Cute

    3042: Acting Cute Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 59  Solved: 36[Submit][Status] Des ...

  4. 网络流(二分):BZOJ 3993: [SDOI2015]星际战争

    Description 3333年,在银河系的某星球上,X军团和Y军团正在激烈 地作战.在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进攻X军团的阵地,其中第i个巨型机器人的装甲值为Ai.当一个巨型 ...

  5. i++和++i的老问题

    对于++j,该式是指先将j的值自加1,然后再取j的值.自增过后参与计算 i的值也为10:对于i++,该表达式是指先取i的值做运算,再将i加1.参见过计算后再自增

  6. 吐血原创:mini2440和win7笔记本利用无路由功能的交换机共享上网(使用x-router软路由)

    真的是要吐血了,为了使自己的win7系统笔记本和mini2440,通过交换机(没有路由功能,才5口,和HUB差不多)共享宽带上网,并且连接上的宽带还是长城宽带,我用尽各种cmd命令都查不到长城宽带的默 ...

  7. HDOJ(HDU) 2153 仙人球的残影(谜一样的题、、、)

    Problem Description 在美丽的HDU,有一名大三的同学,他的速度是众所周知的,跑100米仅仅用了2秒47,在他跑步过程中会留下残影的哎,大家很想知道他是谁了吧,他叫仙人球,既然名字这 ...

  8. 关于 NoSQL 数据库你应该了解的 10 件事

    四分之一个世纪以来,关系型数据库(RDBMS)一直是主流数据库模型.但是现在非关系型数据库,“云”或者“NoSQL”数据库,正在作为一种替代数据库模型获得越来越多的占有率.本文中我们将关注非关系型 N ...

  9. Linux 相关scsi命令

    Linux 相关scsi命令 由于前段时间存储扩容,对存储操作较多,下面记录了常用的操作: lsscsi命令:显示scsi设备信息 #lsscsi [0:0:0:2]    disk    IBM   ...

  10. angular ng-class使用笔记

    在前面Angularjs开发一些经验总结中说到在angular开发中angular controller never 包含DOM元素(html/css),在controller需要一个简单的POJO( ...