学习vi和vim编辑器(1):vi文本编辑器

UNIX系统中有很多编辑器,可以分为两种类型:行编辑器和全屏编辑器。行编辑器每次只能在屏幕中显示文件的一行,如ed和ex编辑器,全屏编辑器可以在屏幕上显示文件的一部分。

vi(读为vee-eye)编辑器是UNIX_Like操作系统的标准文本编辑器。vi是 visual editor的缩写,vi编辑器属于全屏编辑器,可以在阅读文件时当场就修改,并且立刻看到修改后的结果。对于新手而言,vi编辑器难度还是非常大的,但是一旦熟悉了vi编辑器,可能就再也不想重新使用其他“简单”的编辑器了。学习vi编辑器时,要学着把编辑工作交给计算机。因为这本来就是计算机的工作。

vi编辑器有两种模式:命令模式和插入模式。在命令模式中,所输入的一切都会被vi编辑器解释为输入的命令。而在插入模式中,所输入的一切都会被当做输入的文本插入到正在编辑的文件。在vi编辑器中,命令有如下特点:

* 命令是大小写敏感的,也就是区分大小;

* 输入命令时,命令不会显示在屏幕上;

* 输入完命令后不需要加入enter键。

同时有一组命令会显示在屏幕的底端,在这些命令前有特殊的符号,例如冒号(:)用于开始所有的ex命令。vi编辑器使用的底层编辑器就是ex行编辑器,vi只是其可视化的模式。因此可以在vi编辑器中使用ex编辑器的命令。

既然是文本编辑器,那么首先需要学习的就是如何打开与关闭文件。可以使用vi编辑器来编辑任何文本,需要说明的是,vi将需要编辑的文件内容复制到内存中的缓冲区中,因此我们修改的只是内存中文件的副本,只有将缓冲区里的文件内容进行存储,才能将对文件的编辑结果更新到磁盘中的文件中。存储缓冲区的文件内容就是我们通常所说的“写入文件”或者说“保存文件”。

打开文件: vi [filename]

如果没有指定filename,那么vi将打开一个未命名的缓冲区,当我们将缓冲区里的内容写入到文件时,此时需要指定filename。如果filename当前已经存在,则是编辑一个已存在的文件,如果filename不存在,则相当于创建一个新的文件(需要将创建的缓冲区保存才会真的产生一个名为filename的文件),当打开一个新的文件时,vi编辑器的底部状态栏会有相应消息,如图所示:

打开文件时遇到的问题:

* 你认为应该是编辑一个现有文件,但是vi编辑器却显示 "[New File]"。这个问题可以肯定的说是你输入的文件名出错了。

* 出现如下图所示的[readonly],"Permission denied"等消息。这是因为你对该文件没有写权限或者使用了vi编辑器的查看模式(vi -R)

* 输入 :q 命令离开时,却出现如下警告:

这是因为你修改了文件(很可能你自己都不知道修改了哪里),由于此时文件已经发生了变动,vi编辑器一定会让你选择是否保存编辑结果才能离开,因此此时可以使用 ZZ命令保存修改结果然后退出,或者使用 :q! 不保存编辑结果然后离开。

保存与离开文件:

ZZ命令: 保存编辑结果,离开vi编辑器。还可以使用ex命令来保存编辑结果, :w 命令只保存(写入)编辑结果,不离开编辑器。 :wq 命令保存编辑结果离开vi编辑器(:wq 与 ZZ 命令相同)

结束而不保存编辑结果:

:e! 命令:该命令可以消除所有的编辑结果,直接回到最近一次存储时的文件内容,也就是说可以“从头再来”。 :q! 命令也是直接忽略当前的编辑结果,回到上一次存储时的文件内容,同时离开vi编辑器。 为什么这两个命令后面都有感叹号呢,因为 :e 和  :q 命令都会让当前的编辑效果消失,而vi编辑器一般不会让你放弃编辑结果,因此加上感叹号后,就可以使vi不理会这个禁令,直接将当前的编辑结果放弃,回到最近一次存储时的文件内容。

保存文件时发生的问题:

* 写了半天,发现没有写权限。 可以使用  :w filename 将当前结果写入到一个新的文件(由于此时会在目录中新创建一个文件,因此需要将该文件写入到一个对你而言具有写权限的目录下)

* 尝试写文件,却发现文件系统已满。这个解决方法由很多,一方面可以将该文件写入到具有剩余空间的文件系统,另一面可以直接输入: !sh 回到shell环境中删除当前文件系统的一些大文件。在ex命令中可以用感叹号后面接UNIX命令,直接执行相应的UNIX命令。如下图所示,输入 :!pwd 显示当前目录:

输入命令之后就会暂时退出vi编辑器,显示出命令执行的结果:

此时按下enter键后就能重新回到vi编辑器了。

本章vi编辑器命令总结:

ZZ,:w, :q, :wq, :q!, :e! 。

时间: 2024-10-14 12:56:25

学习vi和vim编辑器(1):vi文本编辑器的相关文章

Vim系列1-Mac下,Vi和Vim是神一样的编辑器,如何删除多行

Mac下,Vi和Vim是神一样的编辑器,如何删除多行,在刚上手时,很困惑. 以下以编辑host文件为例 首先在Terminal中,输入vim /etc/hosts,按return. 进入vim的默认模式. Vim有三种模式命令模式,编辑模式,和默认模式 按esc进入命令模式,可以使用退出,存盘退出,不存盘退出等命令.命令模式稍后整理 按a进入编辑模式的insert模式,可以输入编辑文本. 删除和删除多行的快捷键,要在默认模式下使用.在编辑模式下可以按esc,退出编辑模式. 然后输入以下指令 D

【ThinkPHP学习】ThinkPHP自动转义存储富文本编辑器内容导致读取出错

RT. ThinkPHP的conf文件中的Convention.php有一个配置选项 'DEFAULT_FILTER' => 'htmlspecialchars', // 默认参数过滤方法 用于I函数... 默认这个方法是开启的.也就是说,我们往数据库里面存储的数据中都会经过htmlspecialchars这个函数的转义处理. 我在我的项目中使用了Kindeditor富文本编辑器(或许你使用的是Ueditor\ckeditor),通过富文本编辑器编辑文章的内容然后存储到数据库中,再从数据库中读取

vim - Vi IMproved, 一个程序员的文本编辑器

总览 (SYNOPSIS) vim [options] [file ..] vim [options] - vim [options] -t tag vim [options] -q [errorfile] ex view gvim gview rvim rview rgvim rgview 描述 (DESCRIPTION) Vim 是 一个 同 Vi 向上兼容的 文本 编辑器, 可以 用来 编辑任何 ASCII 文本, 特别 适合 用来 编辑 程序. 它对 Vi 作了 许多 增强: 多层撤销,

KindEditor 一款好用的HTML可视化编辑器(富文本编辑器)

KindEditor使用JavaScript编写,可以无缝的于Java..NET.PHP.ASP等程序接合. KindEditor非常适合在CMS.商城.论坛.博客.Wiki.电子邮件等互联网应用上使用,2006年7月首次发布2.0以来,KindEditor依靠出色的用户体验和领先的技术不断扩大编辑器市场占有率,目前在国内已经成为最受欢迎的编辑器之一. ---以上内容来自百度百科 怎么用呢? 下载kindeditor 官网下载地址在这里 下载完成后,解压完并放入自己的项目中,目录结构如图: 初始

文本编辑器vim/vi——命令模式

一个完整的指令的标准格式: Linux通用的格式——#指令主体(空格) [选项](空格) [操作对象] 一个指令可以包含多个选项,操作对象也可以是多个. vim指令: 指令:vim   (vim是一款文本编辑器) 语法:#vim 文件的路径 作用:打开一个文件(可以不存在,也可以存在),如果文件存在,那么打开的就是这个已经存在的目标文件,但如果不存在,就默认以新文件的形式打开. vi介绍 Vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows系统下的notepad(记事本)

(值得收藏!)Vi 文本编辑器精讲

简介 vi 编辑器通常被简称为vi, vi 编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.它可以执行输出.删除.查找.替换.块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,由于不需要图形界面,vi是效率很高的文本编辑器.尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的. 作用 创建或修改文本文件维护 Linux系统中的各种配置文件 vi与vim关系 Vi:类Unix系统中默认的文本编辑器vim:ⅵ 编

【Linux基础 11】vi和vim编辑器的使用

vi -- 终端中的编辑器 目标 vi 简介 打开和新建文件 三种工作模式 常用命令 分屏命令 常用命令速查图 01. vi 简介 1.1 学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的编辑即可 常见需要修改的文件包括: 源程序 配置文件,例如 ssh 的配置文件 ~/.ssh/config 在没有图形界面的环境下,要编辑文件,vi 是最佳选择! 每一个要使用 Linux 的程序员,都应该或多或少的学习一些

vi,vim编辑器

# `vi` —— 终端中的编辑器 ## 目标 * `vi` 简介* 打开和新建文件* 三种工作模式* 常用命令* 分屏命令* 常用命令速查图 ## 01. `vi` 简介 ### 1.1 学习 `vi` 的目的 * 在工作中,要对 **服务器** 上的文件进行 **简单** 的修改,可以使用 `ssh` 远程登录到服务器上,并且使用 `vi` 进行快速的编辑即可* 常见需要修改的文件包括: * **源程序** * **配置文件**,例如 `ssh` 的配置文件 `~/.ssh/config`

轻松学习之Linux教程四 神器vi程序编辑器攻略

本系列文章由@超人爱因斯坦出品,转载请注明出处.           文章链接:          http://hpw123.net/a/Linux/Linuxjichu/2014/1026/93.html          作者:超人爱因斯坦   个人网站:http://www.hpw123.net         邮箱:[email protected]         CSDN:http://blog.csdn.net/u010283694 文本编辑器有很多,比如图形模式的gedit.k

Linux中文本编辑器三种工作模式切换及vi编辑器三种工作模式下命令详解

文本编辑器的作用 创建或修改文本文件维护Linux系统中的各种配置文件Linux中最常用的文本编辑器Linux中最常用的文本编辑器vi:类UNIX操作系统的默认文本编辑器vim:vim时vi文本编辑器(一般简称vi编辑器)的增强版本 vi编辑器的工作模式 三种工作模式命令模式.输入模式.末行模式不同模式之间的切换 命令模式的基本操作3-1 光标移动方向键移动(↑.↓.←.→) 功能:上下左右移动Page Down或Ctrl+F 功能:向下翻动一整页的内容Page Up或Ctrl+B 功能:向上翻