vi和vim的使用
本章内容:
- vi编辑器简介
- vim基本使用
- vim使用技巧
一、vim简介
vim是一个全屏幕纯文本编辑器,是vi编辑器的增强版。
二、vim的基本使用
1.vim的工作模式

命令模式:是主要使用快键键的模式,是我们后面的重点。
命令模式想要进如输入模式,可以使用以下方式:
| 命令 | 作用 |
| a | 在光标所在字符后插入 |
| A | 在光标所在行尾插入 |
| i | 在光标所在字符前插入 |
| I | 在光标所在行行首插入 |
| o | 在光标下插入新行 |
| O | 在光标上插入新行 |
输入模式:主要用于文本编辑,和记事本类似,输入数据就好。
末行模式(编辑模式):
:w 保存不退出
:w 新文件名 把文件另存为新文件
:q 不保存退出
:wq 保存退出
:! 强制
:q! 强制不保存退出,用于修改文件之后,不保存数据退出。
:wq! 强制保存退出,当文件的所有者和root用户,对文件没有写权限的时候,强制写入数据使用
2.命令模式操作
1.移动光标
a.上下左右移动光标
上、下、左、右方向键
h、j、k、l键
b.把光标移动到文件头或尾
gg 移动到文件头
G 移动到文件尾(shitt+g)
c.移动到行首或行尾
^ 移动到行首
$ 移动到行尾
d.移动到指定行
:n 移动到第几行(这里n是数字,准备移动到第几行,就用哪个数字。)
2.删除或剪切
a.删除字母
x 删除单个字母
nx 删除n个字母
n是数字,如果打算从光标位置删除连续10个字母,可以使用“10x”即可。
b.删除整行或剪切
dd 删除单行
ndd 删除多行
:n1,n2d 删除指定范围的行
删除整行或多行,这是比较常见的删除方法。这里的dd快捷键既是删除,也是剪切。删除内容放入了剪切板,如果不粘贴就是删除,如果粘贴就是剪切,粘贴方法如下:
p 粘贴到光标后
P(大) 粘贴到光标前
c.从光标所在行删除到文件尾
dG 从光标所在行删除到文件尾
3.复制
yy 复制单行
nyy 复制多行
复制之后的粘贴,仍然可以使用p键和P(大)键
4.撤销
u 撤销
Ctrl+r 反撤销
“u”键能一直撤销到文件打开是的状态,类似Windows下“Ctrl+z”键的作用。
“Ctrl+r”能一直反撤销到最后一次操作的状态,类似Windows下“Ctrl+y”键的作用
5.替换
r 替换光标所在处的字符
R 从光标所在处开始替换字符,按ESC结束
“r”键替换单一字符,不用进入输入模式,实际使用时,比进入输入模式删除后再修改,要方便。
6.vim配置文件
这次末行模式参数设置,多数需要再vim中才能生效。
| 设置参数 | 含义 |
|
:set nu :set nonu |
显示与取消行号 |
|
:syntax on :syntax off |
是否依据语法显示相关的颜色帮助 |
|
:set hlsearch :set nohlsearch |
设置是否将查找的字符高亮显示 |
|
:set ruler :set noruler |
设置是否显示右下角的状态栏 |
|
:set showmode :set noshowmode |
设置是否在左下角显示如“--INSERT--”之类的状态栏 |
|
:set list :set nolist |
设置是否显示隐藏字符(Tab键用“I”表示,回车符用“$”表示 |
7.查找
/查找内容 从光标所在行向下查找
?查找内容 从光标所在行向上查找
n 下一个
N 上一个
8.替换
:1,10s/old/new/g 替换1到10行的所有old为new
:$s/old/new/g 替换整个文件的old为new
三、vim使用技巧
1.在vim中导入其他文件内容或命令结果
a.导入其他文件内容
:r 文件名 把文件内容导入光标位置
可以把其他文件的内容导入到光标所在位置
b.在vim中执行系统命令
:!命令 在vim中执行系统命令
这里只是在vim中执行系统命令,但并不能把系统命令的结果写入到文件中。
主要用于在文本编辑中,查看系统信息,如时间。
c.导入命令结果
:r !命令 在vim中执行系统命令,并把命令结果导入光标所在行
2.设置快捷键
:map 快键键 快键键执行的命令 自定义快键键
3.字符替换
:ab 源字符 替换为字符 字符替换
在vim编辑中,有时候需要频繁输入某一个长字符串(比如邮箱),这时使用字符串替换,能增加输入效率。
4.多文件打开
在vim中可以同时打开两个文件,只有执行如下命令:
vim -o abc bdc
-o:上下分屏,打开两个文件
vim -O abc bcd
-O:左右分屏,打开两个文件
这样可以同时打开两个文件,方便操作。
如果是“-o”上下打开两个文件,可以通过先按“ctrl+w”,再按“上下箭头”的方式在两个文件之间切换。
如果是“-O”左右打开两个文件,可以通过先按“ctrl+w”,再按“左右箭头”的方式在两个文件之间切换。
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 ...
随机推荐
- 神经网络(NN)实现多分类-----Keras实现
IRIS数据集介绍 IRIS数据集(鸢尾花数据集),是一个经典的机器学习数据集,适合作为多分类问题的测试数据,它的下载地址为:http://archive.ics.uci.edu/ml/machi ...
- 多个celery如何使用同一个redis做为broker?
曾经有个哥们提了一个这方面的requests,但是最终没有合入的celery中去,所以目前celery没有这个功能,祥见: https://github.com/celery/kombu/pull/9 ...
- jmeter性能测试的指标分析和定义
通常情况下,性能测试关注被测对象的时间与资源利用特性及稳定性.时间特性,即被测对象实现业务交易过程中所需的处理时间,从用户角度来说,越短越好.资源利用特性,即被测对象的系统资源占用情况,一般web系统 ...
- 在图中寻找最短路径-----深度优先算法C++实现
求从图中的任意一点(起点)到另一点(终点)的最短路径,最短距离: 图中有数字的点表示为图中的不同海拔的高地,不能通过:没有数字的点表示海拔为0,为平地可以通过: 这个是典型的求图中两点的最短路径:本例 ...
- 在vue项目中获取当前城市
在vue项目中使用百度地图获取当前城市:https://www.jianshu.com/p/0819cfd46712 Vue2 :百度地图bmap:https://www.jianshu.com/p/ ...
- mongodb的安装部署-备份
1.安装部署 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.10.tgz tar -zxf mongodb-linux- ...
- 连接池和JDBCTemplate
一:什么是连接池?使用连接池的好处是什么? 连接池就是一个存放数据库连接对象的容器.当系统初始化后,就会向数据库申请一些连接对象存放到容器里,用的时候直接从容器里取,用完后放回连接池. 连接池可以提高 ...
- 1-2-K Game
题目链接:https://vjudge.net/contest/330119#problem/E 题目大意可以理解为: 1.给出n个物品以及k,Alice与Bob轮流拿1个,或2个,或k个物品,Ali ...
- [转帖]IIS7配置Gzip压缩
IIS7配置Gzip压缩 https://www.cnblogs.com/coce/p/6804373.html II7中自带了gzip功能,理论上应该比ii6配置起来应该简单一点,但是容易出的问 ...
- Solr 8.2 使用指南
1 Solr简介 1.1 Solr是什么 Solr是一个基于全文检索的企业级应用服务器.可以输入一段文字,通过分词检索数据.它是单独的服务,部署在 tomcat. 1.2 为什么需要Solr 问题:我 ...