编辑一个文本文件是经常使用到的计算机操作。我们想做的大多数事情都需要使用某种文件编辑。文本编辑器会方便文件的创建和修改。编辑一个文本文件是经常使用到的计算机操作。我们想做的大多数事情都需要使用某种文件编辑。文本编辑器会方便文件的创建和修改。这些文件也许会包含备记录、日程表、程序源代码等等。文本编辑器是简化的字处理器,就不存在字处理器所具有的黑体、居中、下划线等等这印刷上的特点。当然每一种操作系统软件都至少支持一种文本编辑器。
通常有两种方式:
行编辑器(一种每次修改只能在一行之中或组行之间进行的方式)
全屏编辑器(只能显示正在编辑的那一屏进行修改,而且立刻能在屏幕上显示出来)

当然UNIX中也有文本编辑器,下面就来介绍一下:

编辑器名称
类 型
ed
最初的行编辑
ex
在ed上扩展更为复杂的编辑器
vi
可视化的全屏编辑器
emacs
公共域的全屏编辑器

UNIX支持的编辑器

下面就来具体介绍vi编辑器:
vi 的原意是"Visual",它是一个立即反应的编辑程式,也就是说可以立刻看到操作结果。
vi是大多数UNIX系统都支持的全屏文本编辑器。它是由行编辑器ex发展而来的。它也两个版本:view编辑器和vedit编辑器。其中view编辑器对vi设了只读标志,而vedit编辑器对vi做了几个标志设置,同时也简化了vi的使用。 vi有两种基本工作模式,文本输入模式命令模式。文本输入模式即是用来输入文字资料,而命令模式则是用来下达一些编排文件、存档、以及离开vi等等的操作命令。当执行vi后,会先进入命令模式,此时输入的任何字符都视为命令。

进入与退出
要进入vi可以直接在系统提示字符$下键入vi [文件名],然后键入回车。vi可以自动帮我们进入所要编辑的文档或是开启一个新文档。进入vi后屏幕左方会出现波浪符号,凡是列首有该符号的就代表此列目前是空的。
要离开vi可以在命令模式提示符:下键入q。要切换到命令模式下则是用[ESC]键,如果不知道现在是处于什么模式,可以多按几次[ESC],系统会发出哔哔声以确定进入命令模式。

功能
wq
保存文件,退出vi
w
保存文件,但不退出vi
q
退出编辑器
q!
退出编辑器,同时放弃所做的修改
ZZ
保存文件,退出vi

vi编辑器的退出命令

vi输入模式
要如何输入资料呢?有好几个命令可以进入输入模式:
1.添加文本
    a     从光标所在位置后面开始增加资料,光标后的资料随新增资料而向后移动。
    A     从光标所在行的最后面的地方开始增加资料。
2.插入正文
    i     从光标所在位置前面开始插入资料,光标后的资料随新增资料而向后移动。
    I     从光标所在行的第一个非空白字符前面开始插入资料。
3.增添新行
    o     在光标所在行下新增一行并进入输入模式。
    O     在光标所在行上方新增一行并进入输入模式。
实例
    下面来演示一下(以i为例,其中红色字母为光标所在位置):
    ·先按[Ese]键。使vi处于命令模式。
    ·按i键。将vi切换到文本输入模式。
    ·按字符。这时会发现123出现在m的前面。
此时光标仍停留在m上,vi还处于文本输入模式,直到再按[Ese]才回到命令状态。
如:The vi history
     The vi editor is an interactive text editor that is supported by 。vi编辑器会从当前光标开始用123替换ost。这时vi仍处于文本输入模式。
如:The vi history
      The vi editor is an interactive text editor that is supported  by m of the UNIX perating systems.
    ·按[Ese]键可以返回到命令模式。
    ·按U可以恢复对当前行所做的修改。
到:The vi history
     The vi editor is an interactive text editor that is supported  by most of the UNIX perating systems.

在命令模式下移动光标的基本命令是 h, j, k, l 。想来大家现在也应该能猜到只要直接用键盘上的方向键就可以了,而且无论在命令模式或输入模式下都是可以。
当然键盘也有不足之处。有个很好用的命令u可以恢复被删除的资料,而U命令则可以恢复对光标所在行的所有修改。这与某些电脑上的[Undo]按键功能相同。

移动光标

由于许多编辑工作是借用光标来定位的,所以 vi 提供了许多移动光标的方式,下面用几张简表来说明(这些当然也是命令模式下的命令):

命令
说明
功能键
0 (数字)
移动到光标所在列的最前面 [Home]
$  
移动到光标所在列的最后面 [End]
[CTRL][d]
向下半页  
[CTRL][f]
向下一页 [PageDown]
[CTRL][u]
向上半页  
[CTRL][b]
向上一页 [PageUp]
命令
说明
H
移动到视窗的第一行
M
移动到视窗的中间行
L
移动到视窗的最后行
b
移动到下个字的第一个字母
w
移动到上个字的第一个字母
e
移动到下个字的最后一个字母
^
移动到光标所在列的第一个非空白字符
命令
说明
n-
减号移动到上一行的第一个非空白字符前面加上数字可以指定移动到以上 n 行
n+
加号移动到下一行的第一个非空白字符前面加上数字可以指定移动到以下 n 行
nG
直接用数字 n 加上大写 G 移动到第 n 行
命令
说明

fx

Fx

往右移动到 x 字符上

往左移动到 x 字符上

tx

Tx

往右移动到 x 字符前

往左移动到 x 字符前

;

,

配合 f&t 使用,重复一次

配合 f&t 使用,反方向重复一次

/string

?string

往右移动到有 string 的地方

往左移动到有 string 的地方

n

N

配合 /&? 使用,重复一次

配合 /&? 使用,反方向重复一次

命令
说明
备注

n(

n)

左括号移动到句子的最前面前面加上数字可以指定往前移动 n 个句子

右括号移动到下个句子的最前面前面加上数字可以指定往后移动 n 个句子

句子是以! . ? 三种符号来界定

n{

n}

左括弧移动到段落的最前面前面加上数字可以指定往前移动 n 个段落

右括弧移动到下个段落的最前面前面加上数字可以指定往后移动 n 个段落

段落是以段落间的空白列界定

编辑命令
这些编辑命令非常有弹性,基本上可以说是由命令与范围所构成。例如dw是由删除命令d与范围w所组成的,代表删除一个字d(elete)w(ord)。
    命令列表如下:
    d     删除(delete)
    y     复制(yank)
    p     放置(put)
    c     修改(change)
    范围可以是下列几个:
    e     光标所在位置到该字的最后一个字母
    w     光标所在位置到下个字的第一个字母
    b     光标所在位置到上个字的第一个字母
    $     光标所在位置到该列的最后一个字母
    0     光标所在位置到该列的第一个字母
    )     光标所在位置到下个句子的第一个字母
    (     光标所在位置到该句子的第一个字母
    }     光标所在位置到该段落的最后一个字母
    {     光标所在位置到该段落的第一个字母
这些提供了更多的编辑文字的能力。值得注意的是删除与复制都会将指定范围的内容放到缓存区里,然后就可以用命令p贴到其它地方去,这是vi用来处理区段拷贝与移动的办法。
在某些vi的版本中,例如Linux所用的elvis里就可以大幅简化这些命令。如果稍微观察一下这些编辑命令就会发现问题其实是定范围的方式有点复杂,实际上只有四个命令罢了。 命令v非常好用,只要按下v键,光标所在的位置就会反白,然后就可以移动光标来设定范围,接著再直接下命令进行编辑就可以了。
对于整行操作,vi另外提供了更方便的编辑命令。前面曾经提到过删除整行文字的命令dd就是其中一个;cc可以修改整行文字;而yy则是复制整行文字的;命令D则可以删除光标到该行结束为止所有的文字。

vi 使用教程的更多相关文章

  1. vi使用教程

    Vi有3种模式: 命令模式——命令操作 插入模式——进入vi之后,输入i/a/o,按Esc键,进入命令模式 编辑模式——:set nu, 以回车结束 1.插入 a - 光标后插入 A - 本行末尾插入 ...

  2. Vi 详细教程

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

  3. vi简短教程

    1.模式 命令行模式:光标的移动.内容删除移动复制操作 插入模式:文字输入,即编辑状态 底行模式:文件保存或退出vi,设置编辑环境 2.基本操作 vi myfile,输入vi 文件名,则进入vi. 3 ...

  4. Linux上vi(vim)编辑器使用教程

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...

  5. 【转】Linux上vi(vim)编辑器使用教程

    Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...

  6. 新手指南:Linux上vi(vim)编辑器使用教程

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.vi是“visual interface”的缩 ...

  7. windows下gVim(Vi/vim)基本使用

    Vim 是一个Linux 平台上功能非常强大的编辑器,他是早年的Vi 编辑器的加强版.这个gVim 是windows 版的,并且有了标准的windows 风格的图形界面,所以叫g(graphical) ...

  8. vim编辑器详解

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率. vi是“visual interface”的 ...

  9. 安装linux系统并配置那点事

    安装完成后,将看到如下控制台: 输入以上安装信息中所填写的用户名(user),随后输入密码(user),即可登录 Ubuntu. 随时可使用 Ctrl + Alt 快捷键可离开虚拟机. 3 配置 Ub ...

随机推荐

  1. 【第七篇】Volley之处理Gzip数据

    一般对于API请求需带上GZip压缩,因为API返回数据大都是Json串之类字符串,GZip压缩后内容大小大幅降低. public class GZipRequest extends StringRe ...

  2. Lucene全文检索技术

    Lucene全文检索技术 今日大纲 ●    搜索的概念.搜索引擎原理.倒排索引 ●    全文索引的概念 ●    使用Lucene对索引进行CRUD操作 ●    Lucene常用API详解 ●  ...

  3. js--javascript中字符串常用操作总结、JS字符串操作大全

    字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...

  4. C 语言字符数组的定义与初始化

    1.字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素.char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'} ...

  5. sublime text2教程

    代码编辑器或者文本编辑器,对于程序员来说,就像剑与战士一样,谁都想拥有一把可以随心驾驭且锋利无比的宝剑,而每一位程序员,同样会去追求最适合自己的强大.灵活的编辑器,相信你和我一样,都不会例外. 我用过 ...

  6. 自己写deque

    //deque /* what is a deque? In Chinese, it's called "双端队列". It's different from a queue. I ...

  7. 离线消息如何实现?-- ESFramework 4.0 快速上手(02)

    在ESFramework 4.0 快速上手一文中,主要介绍了如何使用ESPlus.Rapid命名空间中的引擎来快速地构建基于TCP的网络通信系统,即使是使用ESPlus.Rapid来进行ESFrame ...

  8. chapter9_1 协同程序

    协同程序与线程差不多,也就是一条执行序列:有自己独立的栈.局部变量.指令指针,以及和其他协同程序共享的全局变量和其他大部分东西. 两者区别在于:一个多线程的程序可以同时运行几个线程,而协同程序却需要彼 ...

  9. 大数据除法(Large data division)

    题目描述 Description 除法是计算中的基础运算,虽然规则简单,但是位数太多了,也难免会出错.现在的问题是:给定任意位数(足够大就可以啦O(∩_∩)O)的一个被除数,再给定一个long lon ...

  10. PIVOT就是行转列,UNPIVOT就是列传行

    PIVOT通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合.UNPIVOT与PIVOT执行相反的操作,将表值表达式的列转换为列值. 通 ...