Vi 和 Vim 的使用
Vi (Visual Interface)是 Linux下基于Shell 的文本编辑器,Vim (Visual Interface iMproved)是 Vi的增强版本,扩展了很多功能,比如对程序源文件的语法高亮。不管是 Vi 还是 Vim,我们习惯上都管它叫 Vi,但实际上用的更多的是 Vim。
在你的系统里用 alias命令看一下 vi,可以发现用到的其实是vim。
$alias vi
alias vi='vim'
所有的Linux系统里会内建 Vi,它就像 Windows里的记事本,我们一般修改系统的配置文件都要用到它,所以虽然第一次用会可能不太习惯,但是我们还是要学会使用它。
用 Vi 打开或者新建一个文件只需要输入命令 vi +[文件名]就可以了,然后就进入了Vi的界面。比如用 Vi打开一个hello.c的文件,命令如下:
$vi hello.c
因为 Vi 是完全基于 Shell 的,它和 Windows下的编辑器不同,分为三种模式:

对于三种不同模式之间的切换,我做了一张图方便大家记忆,可以看到命令模式是枢纽,在插入模式和末行模式之间切换需要先进入命令模式。

一、命令模式
启动 Vi 后会默认进入命令模式。在命令模式下可以看到最下面有一些信息,比如 "hello.c" 是我们当前编辑的文件名,7L 表示共有 7 行,112 C表示共有 112 个字符。1,1 表示当前光标的位置。

在命令模式下,可以完成的功能主要有:
1、光标移动

2、复制、粘贴、删除

3、查找

4、撤消

二、插入模式
插入模式就是我们正常输入或者修改文件内容的模式了,切换方法有三种:
1、输入 i : 在当前光标输入
2、输入a:在当前光标后输入
3、输入o:在下方插入新的一行
在插入模式下,界面最下方会提示 -- INSERT --
aaarticlea/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==" alt="" data-ratio="1" data-w="1" data-src="https://mmbiz.qpic.cn/mmbiz_png/Gr3LEhZkSDSLORfhib1RvU42nhWTqqKJ9hrP636SKXmVgbIakbWnOzC0zZ2icZ97jFMWCKk5GicvLSeq2bicFT0agQ/640">

三、末行模式
在命令模式下输入 ":" 可以切换到末行模式,在末行模式下,界面最下方有":"提示,这里可以输入我们的命令。

Vi 可以支持的命令非常的多,这里列出几个比较常用的供大家参考:
1、 替换

如果/g 和 /c 要合并使用,可以写成 /gc
2、保存/退出

3、其他命令

最后
Vi 看起来比较复杂,支持的命令也很多,其实最常用的也就几个。Vi的操作靠的是肌肉记忆,把本文中的掌握住基本就够了。
相关阅读

Vi 和 Vim 的使用的更多相关文章
- vi和vim区别及命令详解
vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本.vi使用于文本编辑,但是vim更适用于coding. 现将vim的命令行收集于下: vi有3个模式:插入模 ...
- 【Linux】vi(vim)起步学起来有些困难,一步一步温习
以Tomcat的配置文件service.xml为例,记录.学习vi的最常用操作. > 什么是vi or vim? [nicchagil@localhost bak]$ man vi VIM() ...
- vi/vim使用指北 ---- Learning the vi and Vim Editors 读书 笔记
vi/vim作为liux系统下最强大,最流行的文本编辑器之一.边看<Learning the vi and vim Editor>边学习vim,顺便做写简单的笔记,供以后查询. 没看这本书 ...
- Linux学习笔记之VI(VIM)编辑器
百度关于vi的资料 http://baike.baidu.com/view/908054.htm 关于vi 和vim的介绍可以在上面的网址看到. 1 进入和退出vi 进入:在终端命令行输入 vi ...
- vi、vim 配置上下左右方向键和删除键
vi.vim 配置上下左右方向键和删除键 " An example for a vimrc file. " " Maintainer: Bram Moolenaar &l ...
- Amazon.com: NEW VI AND VIM EDITOR KEYBOARD STICKER: Office Products
Amazon.com: NEW VI AND VIM EDITOR KEYBOARD STICKER: Office Products NEW VI AND VIM EDITOR KEYBOARD S ...
- vi 和vim 的区别
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面.vim的这些优势主要体现在以下几个方面:1.多级撤消我们知道在vi里,按 u只能撤消上次命 ...
- Kali Linux的vi编辑器/vim编辑器使用方法
转载声明:本文为转载文章 原文地址:https://www.52host.cn/blog/kali-linux-vi-editor/ Kali Linux系统的vi编辑器/vim编辑器的使用和Cent ...
- Shell命令-文件及内容处理之vi、vim
文件及内容处理 - vi.vim 1.Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器 ...
- VI和VIM
linux下vi.VIM命令大全 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + file ...
随机推荐
- Web中间件常见漏洞
IIS Internet Information Services--windows 解析漏洞 IIS 6.x 基于文件名:该版本默认会将 *.asp;.jpg 此种格式的文件名,当成 Asp 解析, ...
- 2019-2020-1 20199326《Linux内核原理与分析》第五周作业
第五周学习内容 庖丁解牛Linux内核分析第四章:系统调用的三层机制(上) Linux内核分析实验四 学到的一些知识 4.1用户态.内核态.中断 宏观上Linux操作系统的体系架构分为用户态和内核态 ...
- fedora 21下Virtual Box安装Windows XP SP3
Installing Virtual Box and Windows XP SP3 during Fedora 21 The first step:Download and Install Virtu ...
- Libra教程之:执行Transactions
文章目录 Transactions是什么 Transactions运行的基础条件 Transactions的结构 执行Transactions Transactions是什么 我们讲到了Libra是一 ...
- SQL之常用函数
表8-2 中的SOUNDEX 需要做进一步的解释.SOUNDEX 是一个将任何文本串转换为描述其语音表示的字母数字模式的算法.SOUNDEX 考虑了类似的发音字符和音节,使得能对字符串进行发音比较而不 ...
- Redis介绍及字符串操作
一.前言 不同程序之间实现通信的方法? A.通过不同程序之间建立socket,实现通信.实际应用适用于使用broker,如RabbitMQ,ZeroMQ. B.通过Json,Pickle,利用文件的写 ...
- I/O多路复用之select,poll,epoll简介
一.select 1.起源 select最早于1983年出现在4.2BSD中(BSD是早期的UNIX版本的分支). 它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回 ...
- Angular 7开发环境配置
目录 前言 一.搭建项目 1.安装Angular CLI 2.创建项目 3.集成Element Angular 二.设置路由 1.创建路由模块 2.导入.导出RouterModule类 3 ...
- Android RecyclerView滚动类控件修改、去掉滑动边界的阴影效果
前言 滚动类控件,大家都用的很多,如 RecyclerView.NestedSrollView.... 下面以recyclerView为例讲解,其他滚动控件也同理. RecyclerView 滚动列表 ...
- CRT 连接AWS-EC2
crt使用.pem登录AWS服务器 网上看到方案如下,看到大部分人都成功了,一头雾水,我的crt不需要pub文件.... chmod xxx.pem ssh-keygen -p -f xxx.pem ...