Vi / Vim编辑器—编辑器工作模式、vi编辑操作
推荐一个很好的学习指南:http://www.oschina.net/translate/learn-vim-progressively
一、编辑器的三种工作模式
Vi / Vim是全屏幕编辑器,正因为这种特性,通常Vi分为三种模式:一般模式、编辑模式、命令行命令模式。
(1) 一般模式Normal Mode(common Mode, c-Mode)
Vi处理文件时,进入该文件就是一般模式,此模式中输入的任何字符皆被视为指令。可以用方向键来移动光标,可以使用“删除字符”或“删除整行”来处理文件内容,也可以使用复制、粘贴处理文件数据
(2) 编辑模式(文本写入模式)Insert Mode (i-Mode)
在一般模式中可以进行删除、复制、粘贴操作,但无法进行编辑,需要按下i, l, o, O, a, A, r, R等才会进入编辑模式,此时进入文本写入模式,而不会被视为命令行。通常在屏幕左下方会出现“INSERT”或“REPLACE”字样,才可以输入任何字符到文件中。返回一般模式按下Esc键即可。
(3) 命令行模式Ed Mode (common-line Mode, e-Mode)
在一般模式中,输入:或/或?就可以将光标移到最下面一行,在这个模式中,可以搜索数据并读取、存盘、大量删除字符、离开Vi、显示行号等操作都是在此模式中实现的。
二、vi操作
step1: 使用vi进入一般模式
denny@ubuntu:~$ Vi test.txt
step2: 按i进入编辑模式,开始编辑文字
注:i:从当前光标所在处插入 I:在当前光标所在行第一个非空格字符处插入
a: 从当前光标所在的下一个字符处插入 A:从光标所在行的最后一个字符插入
o:在当前光标所在下一行处插入新行 O:从当前光标上一行插入新行
r:替换当前光标所指的一个字符 R:一直替换光标所在的文字,直到按Esc退出
step3: 按Esc键回到一般模式
step4: 在一般模式中输入:wq保存后退出Vi
实例1:=>进入编辑模式:输入i或a进入,按Esc退回到一般模式
输入vim test.c(在编辑模式下)
输入#include<stdio.h>
voidmain() { printf(“HelloWorld”); }
再按Esc退出,回到一般模式的vim,输入:wq保存,回车。
回车后输入gcctest.c编译,再输入/a.out,执行,输出Helloworld
实例2:shell
【Linux学习】Vi / Vim编辑器—编辑器工作模式、vi编辑操作的更多相关文章
-
linux/linux学习笔记-vim文本编辑器(mooc)
vim文本编辑器 vim与vi的区别:( vim=vi +IMproved) VIM是一个Unix以及类unix文本编辑器 特点:功能强大,高度可定制 vim编辑器的三种模式:一般模式.编辑模式和命令 ...
-
Linux学习笔记—vim程序编辑器
vi和vim vim是vi的升级版,支持vi的所有指令 vi的使用 vi分为三种模式:一般模式.编辑模式.命令行模式 一般模式 以vi打开一个文件就直接进入一般模式了,这个模式下可以使用上下左右按键来 ...
-
Linux系统 vi/vim文本编辑器
Linux系统 vi/vim文本编辑器 (一)Vim/Vi简介 (二)Vim/Vi工作模式 (三)Vim/Vi基本使用 (四)Vim/Vi应用技巧 (一)Vim/Vi简介 Vim/Vi是一个功能强大的 ...
-
Linux学习之Vim/Vi使用(十三)
Linux学习之Vim/Vi使用 Vim/Vi简介 Vim/Vi工作模式 Vim/Vi基本使用 Vim/Vi应用技巧 Vim/Vi简介 Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UN ...
-
第十八章 vi/vim文本编辑器介绍
一.vi/vim文本编辑器介绍 1.含义: vi就是一个文本编辑器 2.为什么学习: 系统配置 编写脚本 vim就是vi的升级版 高级版 [root@jindada ~]# [root@jindada ...
-
Linux学习,Vim以及Vi常用快捷键
VIM配置文件路径: /etc/vmrc ===> 系统配置文件路径 ~/.vimrc ===> 当前用户配置文件路径 $VIM ===> 与VIM配置文件相关的变量 进入插入模式: ...
-
Linux下的Vim文本编辑器(入门)
引言 vim filename:打开名为filename的文件,如果不存在就会创建一个filename文件 Vim的三种使用模式 1. 命令模式 启动Vim时,就进入了命令模式 在该模式下: i:切换 ...
-
linux学习之——vim简明教程
摘自 http://blog.csdn.net/niushuai666/article/details/7275406 ——————————正文开始—————————— 你想以最快的速度学习人类史上 ...
-
Linux学习4——Vim和Bash
一.写在前面 本将将介绍Linux自带的强大的文本编辑器Vim和Bash的相关知识. 二.完成目标 1.了解Vim和Bash的基本概念 2.定制自己的vim 3.Bash中的一些命令 4.管道命令 ...
-
Linux学习之Vim使用
一 为何要学Vim 所有的Unix Like系统都有自带vi编辑器 一些软件的编辑接口会自动调起vi 作为vi的升级版,vim具有程序编辑功能,而且具有代码颜色高亮显示.辨别代码的正确性等功能 以上优 ...
随机推荐
-
使用jquery-qrcode生成二维码
一.使用jquery-qrcode生成二维码 先简单说一下jquery-qrcode,这个开源的三方库(可以从https://github.com/jeromeetienne/jquery-qrcod ...
-
Ubuntu 上创建常用磁盘阵列
RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失 ...
-
Xamarin.Forms项目无法添加服务引用
Xamarin.Forms项目无法添加服务引用 创建的Xamarin.Forms项目中,右击“引用”选项,在弹出的菜单中没有“添加服务引用”命令.这是由于该项目是支持Windows Phone 8.1 ...
-
深入了解Qt(一)之QObject
深入了解Qt主要内容来源于Inside Qt系列,本文做了部分删改,以便于理解.在此向原作者表示感谢! QObject这个 class 是 QT 对象模型的核心,关于对象模型可以阅读C++对象模型详解 ...
-
C# 序列化 Serialize 的应用
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
-
openlayers4 入门开发系列之地图空间查询篇(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
-
AbstractQueuedSynchronizer源码解析
1.简介 AbstractQueuedSynchronizer队列同步器,用来实现锁或者其他同步组件的基础框架 AbstractQueuedSynchronizer使用int类型的volatile变量 ...
-
html跳转指定位置-利用锚点
比如我现在 a.html 的时候,我想跳转到 b.html ,并且是 b.html 的某一个位置,用 <a href=>, a.html里: <a href="b.html ...
-
手动升级11.2.0.1的rac数据库到11.2.0.4
① 关闭两个节点上的数据库 crsctl stop resource ora.ORA11G.db ② 命令行单节点启动数据库, 注意这里的SQLPLUS 一定是升级后的软件地址 sqlplus / a ...
-
vue内引入jsPlumb流程控制器(一)
1. npm i jsplumb --save 注:jsplumb要全小写 2. 在main.js内 加: import jsPlumb from 'jsplumb' Vue.prototype.$j ...