首页 > 代码库 > linux学习之路之vim编辑器的使用
linux学习之路之vim编辑器的使用
本章将介绍vim编辑器的使用
vim编辑器是vi编辑器的增强版
vim是一种全屏的编辑器,是一种模式化的编辑器,之所以称为模式化的编辑器,因为vim有多种模式。
接下来将介绍vim主要的三种模式:
编辑模式(也叫命令模式):在该模式下你可以完成字符串跳转,字符串删除,翻屏操作等操作
输入模式:在该模式下输入的任何字符都会保存在该文件中,作为文件的一部分
末行模式:在该模式下,可以实现字符串搜索,字符串替换等操作
vim编辑器的三种模式之间的相互转换
模式转换:
编辑模式-->输入模式
i:在当前光标所在字符的前面,转化成输入模式
a:在当前光标所在字符的后面,转换成输入模式
o:在当前光标所在行的下方,新建一行,并转换成输入模式
I:在当前光标所在行的行首,转换成输入模式
A:在当前光标所在行的行尾,转换成输入模式
O:在当前光标所在行的上方,新建一行,并转换成输入模式
输入模式-->编辑模式
按ESC键即可转换到编辑模式
编辑模式-->末行模式
在编辑模式下输入":"可进入末行模式
末行模式-->编辑模式
按ESC键即可转换成编辑模式
说明:输入模式和编辑模式不可以直接转换,需要通过编辑模式来转换
vim的使用用法(应用)
一、打开文件
vim [option] FILENAME
+#:打开文件时光标直接处于第#行的行首
#:打开文件时,光标直接处于最后一行的行首
+/PATTERN:打开文件时,光标定位到第一被PATTERN匹配到的行的行首
二、关闭文件
1、在末行模式下关闭文件
:q 退出
:wq 保存并退出,等同于:x的效果
:q!不保存并退出
:w 保存
:w! 强制保存
2、在编辑模式下退出文件
ZZ:保存并退出
三、光标的移动(在编辑模式下的操作)
1、逐字符移动
h:光标向左移动一个字符
l:光标向右移动一个字符
j:光标移动到下一行
k:光标移动到上一行
#h,#l,#j,#k 表示光标一次移动#次
2、以单词为单位来移动
w:跳到下一个单词的词首
e:跳到当前或下一个单词的词尾
b:跳到当前或前一个单词的词首
#w,#e,#b 表示光标一次移动#次
3、行内跳转
0:跳到行首,绝对行行首(就是某些行前面有空格,光标会跳到空格处,而不是该行的第一个非空字符处)
^:跳到第一个非空白字符行的行首
$:跳到行尾
4、行间跳转
#G:跳到至第#行
G:跳到最后一行
在末行模式下跳转,直接给出行号即可
5、翻屏操作
Ctrl+f:向下翻一屏
Ctrl+b:向上翻一屏
Ctrl+d:向下翻半屏
Ctrl+u:向上翻半屏
五、删除单个字符
x:删除光标所在处的单个字符
#x:删除光标所在处及向后的#个字符
六、删除命令d
d命令一般和跳转命令一起组合使用
#d跳转符:删除多个
dd:删除光标所在行
#dd:删除光标所在行及向下的一共#行
说明:使用d命令删除文件并没有实际删除,而是保存在内存缓存区中 。
末行模式下的删除命令:
START,ENDd:删除起始行到结束行
.:表示当前行
$:表示最后一行
+#:表示删除该行及向下的#行(共#+1行)
$-1:倒数第二行
七、粘贴命令
p(小写):如果删除的或复制为整行,则粘贴至光标所在行的下方;如果删除或复制是非整行,则粘贴
至光标所在字符的后面
P(大写):如果删除的或复制为整行,则粘贴至光标所在行的上方;如果删除或复制是非整行,则粘贴
至光标所在字符的前面
八、复制命令y
复制p命令和删除d命令语法使用一样,只不过一个是原来复制,一个原来删除的
九、修改字符:先删除内容,在转换成输入模式
c命令和d命令的语法使用一样
十、字符替换
r:字符替换
R:进入替换模式,在该模式下可以一次进行多个字符的替换
十一、撤销编辑操作
u:撤销前一次编辑操作
连续使用u命令可以撤销此前的n次操作
#u:直接撤销最近#次操作
撤销最近一次的撤销操作(还原最近一次的撤销操作)
Ctrl+r
十二、重复前一次编辑操作
.:重复前一次编辑操作
十三、可视化模式
v:按字符选取
V:按行选取
十四、查找
:/PATTERN 向后操作
:?PATTERN 向前查找
n:正向查找
N:逆向查找
十五、查找并替换
在末行模式下使用s命令
START,ENDs/PATTERN/string/g 全局替换
%:表示全文
十六、使用vim编辑多个文件
vim FILE1 FILE2...
:next 切换到下一个文件
:prev 切换到上一个文件
:last 切换到最后一个文件
:first 切换到第一个文件
qa:退出全部文件
十七、分屏显示一个文件
Ctrl+w,s 水平拆分窗口
Ctrl+w,v 垂直拆分窗口
在窗口切换光标
Ctrl+w,上下左右键
:qa 退出所有窗口
十八、分窗口显示多个文件
vim -o FILE1 FILE2.. 水平分割显示
vim -O FILE1 FILE2.. 垂直分割显示
十九、将当前文件中的部分内容另存为另一个文件
:START,ENDw /path.to.somefile
二十、将另一个文件中的内容填充在当前文件中(以附件的形式添加)
:r /path/to/somefile
二十一、跟shell交互
:!COMMAND 可以再不退出文件的情况下,使用shell命令
二十二、高级应用(末行模式下的操作)
1、显示或取消显示行号
:set number
:set nu(简写) 显示行号
:set nonu 取消显示行号
2、设定vim编辑器忽略或区分大小写
:set ignorecase
:set ic 忽略大小写
:set noic 区分大小写
3、自动缩进
:set autoinddent
:set ai 自动缩进
:set noai 取消自动缩进
4、查找到的文本高亮显示或取消高亮显示
:set hlsearch 高亮显示
:set nohlsearch 取消高亮显示
5、语法高亮显示
:syntax on 开启语法高亮显示
:syntax off 关闭语法高亮显示
如果想让这些命令在永久生效,必须写到vim的配置文件中
vim的配置文件分2种:
全局配置文件:/etc/vimrc 对所有用户生效
个人配置文件:~/.vimrc 仅对指定用户生效
本文出自 “linux学习之路” 博客,谢绝转载!