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. a great tool for automatically formating your code!

    1. make your own format file at your project's root or file's folder. (The clang-format will automat ...

  2. linq里的select和selectmany操作 投影运算

    原文地址:https://msdn.microsoft.com/zh-cn/library/bb546168.aspx#Mtps_DropDownFilterText 投影运算   其他版本   投影 ...

  3. python 解析 配置文件

    资料: https://docs.python.org/3/library/configparser.html 环境 python 3.4.4 RawConfigParser方式 example.cf ...

  4. getting start with storm 翻译 第八章 part-2

    转载请注明出处:http://blog.csdn.net/lonelytrooper/article/details/12435641 The Bolts 首先我们看一下该topology中的标准bo ...

  5. Struts2获取request三种方法

    Struts2获取request三种方法   struts2里面有三种方法可以获取request,最好使用ServletRequestAware接口通过IOC机制注入Request对象. 在Actio ...

  6. Web前端之HTML

    一. HTML介绍: 1.HTML:超文本标记语言. 2.HTML是由:标签和内容构成. 3.程序语言有两种:解释性语言(HTML.PHP.Python.Javascript)和编译型语言(C.C++ ...

  7. foxmail客户端总是提示接收密码错误

    如上图所示. 我知道的一个原因是 发送太多邮件所致,导致发件服务器触发规则限制登录. 如果之前发的不是很多的话,可以在设置的帐号选项里删除这个账户,再重新建一个.

  8. Drawer_layout 关闭滑动视图

    在android抽屉Drawer_layout开发中,我需要关闭滑动的试图 找到了这个方法 mDrawer_layout.setDrawerLockMode(DrawerLayout.LOCK_MOD ...

  9. ASP.NET DropDownList1_SelectedIndexChanged使用

    DropDownList1.AutoPostBack 属性 今天写代码给DropDownList1添加DropDownList1_SelectedIndexChanged事件,在运行测试时发现Drop ...

  10. Coppersmith-Winograd 算法

    转自:https://www.douban.com/group/topic/29658298/ 对正整数 $q$,定义张量 $T$,其对应的多项式为 $p(X,Y,Z)=\sum_{i=1}^q (X ...