首页 > 代码库 > vim常见基本用法
vim常见基本用法
全屏编辑器(模式化编辑器)
用户往往需要建立自己的文件,无论是一般文本文件、数据文件、数据库文件,还是程序源文件。建立和修改文本文件要利用编辑器。Linux系统常用的文本编辑器,如ed,ex,edit,vi。按照功能分为两类:行编辑器(如:ed,ex,edit)和屏幕编辑器(如:vi)。Vi是visual interface的简称。它汇集了行编辑和全屏幕编辑的特点,是UNIX/linux系统常用的编辑器,几乎每个UNIX/linux系统都提供vi。
在linux系统中,还提供vim(vi improved)编辑器,它是vi的增强版本,与vi向上兼容。它支持多个窗口和缓冲、语法高亮度化、命令行编辑、联机帮助等功能。通常在linux中用到的vi实际上是vim。
在使用vim的时候有以下几种模式:
编辑模式(命令模式)(默认的)
末行模式
输入模式(插入模式)
替换模式
可视化模式
一、打开方式:
1.vi/vim:打开vi/vim的界面
2.vimfile:file存在,则打开并将光标默认放置在第一行第一个字符
file不存在,则以新文件的方式打开,若保存,则文件被创建;若不保存,文件消失
3.vim+# file:指定在打开文件的时候,将光标定位在第#行行首;如果定位的行数比整个文档的行还要大,则光标停留在最后一行的行首(#是一个数字)
4.vim+ file:直接将光标定位在文档的最后一行行首
5.vim+/PATTERN/:打开文件,并且将光标定位至首次被PATTERN匹配的行的行首位置;既至完成首次匹配
二、关闭方式:
末行模式的关闭:
:q:表示直接关闭vi/vim编辑器,不保存修改内容
:q!:强制退出,不保存
:w:保存修改的内容
:wq:保存修改的内容并关闭vim编辑器
:wq!(对于root用户来说只读文件可以):强制保存并退出
:w!:强制保存
编辑模式的关闭:
ZZ(CTRL+Z):保存并退出
ZQ:不保存并退出
三、在vim的编辑模式中,移动光标(没有回车的算一行)
1.逐字符移动
1)ARROW(箭头)
2).h:左
j:下
k:上
l:右
5h:左5
2.逐字移动
w:移动到下一个字的字首
e:移动的下一个字的字尾
b:移动到上一个字的字首
3.行内跳转
0:绝对行首(开头可能是空格)放到开头
^:放到非空字符(相对行首)
$:放到行尾(无相对绝对之分)(绝对行尾)
4.行间跳转
#G(代表一个数字):直接将光标移动到第#行
G:直接将光标移动到光标的最后一行
gg:直接将光标移动至第一行
末行模式中光标移动:
:#直接将光标移动到第#行
:1直接将光标移动至第一行
:$直接将光标移动至文档的最后一行
四、翻屏
ctrl+f(forward):向下翻一屏
ctrl+b(back):向上翻一屏
ctrl+d(down):向下翻半屏
ctrl+u(up):向上翻半屏
五、逐字符删除
x:删除光标所在位置的字符(相当于del)
X:删除光标所在位置的左侧的单个字符(相当于backspace)
9x:一次删除9个字符
六、编辑模式下的万能删除命令
d:删除光标移动过程中经过的字符(配合光标移动命令删除)
dd:删除光标所在行
在末行模式下:
:m,nd:从m删到n行
:.,$:从当前行删到最后一行
.:表示当前行
$:表示最后一行
:nd:删除第n行
:m,+nd:从m行开始删n行
:d:删除光标所在行
七、编辑模式中的万能粘贴命令(paste)
p(lower):向右向下进行粘贴
P(upper):向左向上进行粘贴
100p:粘贴100次
末行模式下粘贴:p(不常用)
八、编辑模式中的万能复制命令
y:复制光标经过的所有内容
用法与d命令相同
yy:复制光标所在行
九、模式的切换
1.从编辑模式到末行模式
:输入命令
/和?进行查找,n和N,n表示顺序查找,N表示逆序查找
/:自上而下
?:自下而上
2.从末行模式到编辑模式
ESC键
Enter键
Backspace键
3.从编辑模式到插入模式
I:将光标移动至行首并进入输入模式
i:在光标所在位置的前面插入信息
A:(append)将光标移动至行尾并进入输入模式
a:在光标所在位置的后面插入字符
O:(other)在光标所在行的上面插入新行
o:在光标所在行的下面插入新行
cc:删除整行内容之后,进入输入模式
C:从光标所在位置删除至行尾,进入输入模式
s:删除光标所在位置的一个字符,进入输入模式
S:删除整行内容之后,进入输入模式
4.从输入模式到编辑模式
ESC键
5.从编辑模式到替换模式
R:进入替换模式
6.从替换模式到编辑模式
ESC键
7.从编辑模式到可视化模式
v:可以按照字符为单位进行矩形选取
V:按照行为单位进行矩形选取
在选择之后可以执行复制或者删除的操作
只要完成操作,就返回编辑模式
!!!所有的模式切换必须经由编辑模式,两种非编辑模式之间无法直接进行切换
十、替换命令
r:只能替换光标所在位置的一个字符
十一、撤销编辑操作
u:撤销一次此前的编辑操作
10u:撤销10次
超出会有提示
摁住u也可以
ctrl+r:撤销最近的一次撤销操作
十二、重复之前的一次编辑操作
.:比如删除了一行,那么下一次直接按.就可以删除一行
十三、特殊的末行命令
1.显示和取消行编号
setnumber:设置行编好,简写--set nu
setnonumber:取消行编号,简写--set nonu
2.开启或关闭字符大小写的区分
:set ignorecase:简写--:setic
:set noignorecase:简写--:set noic
3.开启或关闭自动缩进功能
:set autoindent:简写--:setai
:set noautoindent:简写--:set noai
4.开启或关闭查找高亮显示
:set hlsearch
:set nohlsearch:简写--:setnohl
5.开启或关闭语法着色
:syntax on
:syntax off
vim常见基本用法