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. BZOJ1679: [Usaco2005 Jan]Moo Volume 牛的呼声

    1679: [Usaco2005 Jan]Moo Volume 牛的呼声 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 723  Solved: 346[ ...

  2. 2B The least round way

    题目大意: 一个n*n的矩阵,从矩阵的左上角开始,每次移动到下面或者右面,移动到右下角结束. 要求走的路径上的所有数字乘起来,乘积得到的值后面的0最少.   #include <iostream ...

  3. 数据结构(动态树):[国家集训队2012]tree(伍一鸣)

    [问题描述] 一棵n个点的树,每个点的初始权值为1.对于这棵树有q个操作,每个操作为以下四种操作之一: + u v c:将u到v的路径上的点的权值都加上自然数c: - u1 v1 u2 v2:将树中原 ...

  4. 数据结构(LCT动态树):BZOJ 1036: [ZJOI2008]树的统计Count

    1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 12266  Solved: 4945[Submit ...

  5. 线性代数(矩阵乘法):POJ 3233 Matrix Power Series

    Matrix Power Series   Description Given a n × n matrix A and a positive integer k, find the sum S = ...

  6. 后缀自动机(SAM):SPOJ Longest Common Substring II

    Longest Common Substring II Time Limit: 2000ms Memory Limit: 262144KB A string is finite sequence of ...

  7. 【模拟】Codeforces 691B s-palindrome

    题目链接: http://codeforces.com/problemset/problem/691/B 题目大意: 求一个字符串是不是镜像的(不是回文).是输出TAK否则RE. 题目思路: [模拟] ...

  8. [Locked] Binary Tree Longest Consecutive Sequence

    Binary Tree Longest Consecutive Sequence Given a binary tree, find the length of the longest consecu ...

  9. 算法对比:Prim算法与Dijskra算法

    在图论中,求MST的Prim算法和求最短路的Dijskra算法非常像.可是我一直都对这两个算法处于要懂不懂的状态,现在,就来总结一下这两个算法. 最小生成树(MST)—Prim算法: 算法步骤: •将 ...

  10. zznu 1073: 海军节上的鸣炮声计算

    这是个一不留神就会出错的题目,首先大家可以想到在同一时间可能会有多个炮同时发射,不过观众只能听到一响,所以需要注意! 而且刚开始的时候所有的船都会发射一发,输入的a, b, c,都是时间间隔,