【正确使用vim编辑器的姿势】
"vi:可视化接口(Visual Interface)
vim:是vi的增强版(vi iMprove)
vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。它是我们使用Linux系统不能缺少的工具。Unix及linux系统的任何版本下的vi编辑器是完全相同的,学会它后,您将在Linux的世界里畅行无阻。
vim可以说的vi的升级版本,它可以用多种颜色的方式来显示一些特殊的信息。
vim具有程序编辑能力,可以以字体颜色辨别语法的正确性,方便程序设计。
vim会依据文件扩展名或者是文件内的开头消息,来判断该文件的内容而自动的执行该程序的语法判断式,再以颜色来区分显示代码与注册信息。
vim加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、快复制等等。这帮助我们在进行一些配置文件的修改工作时提高了不少的效率。
vim有三种工作模式,如下图:

vim编辑器的配置文件:全局/etc/vimrc 用户~/.vimrc
修改配置文件可使某项配置默认生效,比如在配置文件内加入一行:set nu,那么打开文件后将默认显示行号。
打开文件
vim + file打开文件并定位到最后一行
.
vim +n file打开文件并定位到第n行
.
vim +/string file打开文件并定位到第一次被'string'匹配到的行的行首
.
vim file1 file2 file3打开多个文件
.
vim -o file1 file2 file3水平分隔显示多个文件
.
vim -O file1 file2 file3垂直分隔显示多个文件
命令模式
Shift + ZZ保存退出
.
0跳转至当前行行首,绝对行首
$跳转至当前行行尾,绝对行尾
^跳转至当前行行首第一个非空白字符
.
h⬅️移
l➡️移
j⬇️移
k⬆️移
.
w移至下一个单词的词首
e移至下一个单词的词尾
b移至上一个单词的词首
?w表示向后移动?个单词
.
Ctrl + f向下翻一屏
Ctrl + b向上翻一屏
Ctrl + d向下翻半屏
Ctrl + u向上翻半屏
.
cc删除光标所在行,并进入编辑模式
?x删除光标所在字符及向后?个字符
dw删除光标所在位置到下一个单词词首所有字符
?dw删除当前光标所在处及向后第?个单词词首内所有字符
.
P大写P,粘贴至光标所在行的上面(复制行)或前面(复制快)
.
yw复制光标所在字符到下个单词词首内容
y?G复制光标所在行到?行的所有内容
.
r?单字符替换,将光标所在字符替换为?
R替换模式,可以做字符串替换
.
?u撤销?次操作
Ctrl + r撤销最近一次的撤销操作
.
.重复最近一次的操作
.
v按字符选取,键盘控制光标划过的区域被选取
V按矩形选取,键盘控制光标划过的行被选取
.
末行模式
set nu显示行号,nu是number的简写
set nonu取消显示行号
.
set ai自动缩进,ai时autoindent的简写
set noai取消自动缩进
.
set ic忽略大小写,ic时ignorecase的简写
set noignorecase区分大小写
.
syntax on打开语法高亮显示
syntax off关闭语法高亮显示
.
+?向上移动?行
-?向下移动?行
.
5, 10d删除5至10行的所有内容
5, 10y复制5至10行的所有内容
.
/string从当前位置向后查找
?string从当前位置向前查找
.
line1, line2s/old/new/gi替换,比如1,$(或%)表示全文,g:全局替换,i:忽略大小写
.
打开多个文件时使用:
next切换到下一个文件
prev切换到上一个文件
last切换到最后一个文件
first切换到第一个文件
qa退出所有文件
wqa保存退出所有文件
.
w filepath将当前文件另存到指定路径的文件
5, 10w filepath将5至10行的内容保存至指定路径的文件
.
r file将file文件内的所有内容附加到当前光标所在位置的后面
.
! command执行操作系统命令
朋友,你要努力!
"
【正确使用vim编辑器的姿势】的更多相关文章
- 【 正确使用vim编辑器的姿势】
vi:可视化接口(Visual Interface) vim:是vi的增强版(vi iMprove) vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样 ...
- Vim编辑器与Shell命令脚本
章节简述: 本章节将教给您如何使用Vim编辑器来编写文档.配置主机名称.网卡参数以及yum仓库 ,熟练使用各个模式和命令快捷键. 我们可以通过Vim编辑器将Linux命令放入合适的逻辑测试语句(if. ...
- Centos 下安装VIM编辑器
我们在安装完Centos后,它默认的是安装了VI编辑器,VIM是没有安装的,所以我们在使用vim test.txt时会提示: vim command not found ... 这就是说明我们的Lin ...
- 第4章 Vim编辑器与Shell命令脚本
章节简述: 本章节将教给您如何使用Vim编辑器来编写文档.配置主机名称.网卡参数以及yum仓库 ,熟练使用各个模式和命令快捷键. 我们可以通过Vim编辑器将Linux命令放入合适的逻辑测试语句(if. ...
- [嵌入式培训 笔记]-----Vim编辑器使用简介
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 第一讲小结 1. 光标在屏幕文本中的移动既 ...
- vim编辑器安装命令使用命令和设置的使用总结
vim编辑器的安装 vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim).vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率.本文讲解主要是在Cento ...
- 4.Vim编辑器与Shell命令脚本
第4章 Vim编辑器与Shell命令脚本 章节简述: 本章首先讲解如何使用Vim编辑器来编写.修改文档,然后通过逐个配置主机名称.系统网卡以及Yum软件仓库参数文件等实验,帮助读者加深Vim编辑器中诸 ...
- Linux 就该这么学 CH04 VIM编辑器和Shell命令脚本
0 概述 1 Vim编辑器 在linux 中一切都是文件,而配置一个服务就是修改其配置文件的参数. vim 编辑器有三种模式:命令模式,末行模式和编辑模式. 命令模式:控制光标移动,对文件进行操作. ...
- Linux学习Day5:Vim编辑器、配置网卡、配置Yum软件仓库
今天首先学习Vim编辑器的使用,通过它可以对Linux系统的文件进行编写和修改.在Linux系统中一切都是文件,所以熟练掌握Vim编辑器的使用十分重要.最后通过配置主机网卡的实验,来加深Vim编辑器中 ...
随机推荐
- VSCode配置之open-with-Live-Server 无法打开浏览器【解决方法】
如果你的vscode编辑器打开浏览器时默认打开的是iE,想要把它改为chrome,怎么办呢? 我遇到如下原因: 这是按照网上的setting.json配置 这是运行了 open-with-live-s ...
- python数据分析学习(1)pandas一维工具Series讲解
目录 一:pandas数据结构介绍 python是数据分析的主要工具,它包含的数据结构和数据处理工具的设计让python在数据分析领域变得十分快捷.它以NumPy为基础,并对于需要类似 for循环 ...
- ACM-ICPC 2018 徐州赛区网络预赛 Features Track
签到题 因为一个小细节考虑不到wa了两次 // 一开始没这个if wa了.因为数据中存在同一帧(frame)一个相同的值出现多次,这样子同一个i 后面的同样的特征会把len重置为1 #include ...
- 如何处理pom文件中没有找到HUB检查到高危漏洞的依赖包
最近使用HUB工具检查到maven工程中存在高危险漏洞,虽然定位到具体的引用包了,但是在pom文件中却没有发现该依赖包.此时,我们就需要用到这条命令mvn dependency:tree,该命令会将m ...
- 全栈高级web前端工程师的必经之路
这是最近整理的一个进阶高级web工程师的技术栈 同时也是激励自己每天来看一下离真正的王者还有多少距离! 过段时间再来反思一下自己进步了多少? ------------------------20190 ...
- 使用ScrollRect制作翻页
1.标准的层级结构 ScrollRect->ViewPort->Content,Viewport负责显示区域的大小一般和Mask一起配合使用,Content使用Layout来布局,如果想使 ...
- day30 NFS服务器概述
02. NFS存储服务概念介绍 NFS是Network File System的缩写,中文意思是网络文件共享系统, 它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录 存储服 ...
- import 与 from...import
- Python之路Day01
一.Python简介 Python的历史 Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生 In November 2014, it was ...
- linq和匿名方法、委托、匿名委托、lambda
委托相当于JavaScript中的闭包,c++中的函数指针. c#为了引进这个函数指针,将其进行包装成“委托”,同时将非托管的变成托管的. 1.最初的委托该怎么用 弊端:写的代码量过多,还要写一个显示 ...