Linux编辑器-vim使用
一、vim的基本概念
vim的三种模式(其实有好多模式),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
1.
正常/普通/命令模式
(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode
下,或者到last line mode
2.插入模式
(Insert mode)
只有在Insert mode
下,才可以做文字输入,按「ESC」
键可回到命令行模式。该模式是我们后面用的最频繁 的编辑模式。
3.末行模式
(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+:
即可进入该模式。
4.要查看你的所有模式:打开vim
,底行模式直接输入:help vim-modes
二、vim的基本操作
进入vim
,在系统提示符号输入vim
及文件名称后,就进入vim全屏幕编辑画面:
$ vim test.c
不过有一点要特别注意,就是你进入vim
之后,是处于[正常模式]
,你要切换到[插入模式]
才能够输入文字。
[正常模式]
切换至[插入模式]
输入
a
输入i
输入o
[插入模式]
切换至[正常模式]
目前处于
[插入模式]
,就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」
键转到[正常模式]再删除文字。当然,也可以直接删除。
[正常模式]
切换至[末行模式]
「shift + ;」
, 其实就是输入「:」
退出vim
及保存文件,在[正常模式]
下,按一下「:」
冒号键进入「Last line mode」
,例如
: w
(保存当前文件)
: wq
(输入「wq」
,存盘并退出vim
)
: q!
(输入q!
,不存盘强制退出vim
)
三、vim正常模式命令集
3.1 插入模式
按
「i」
切换进入插入模式「insert mode」
,按“i
”进入插入模式后是从光标当前位置开始输入文件;
按「a」
进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」
进入插入模式后,是插入新的一行,从行首开始输入文字。
3.2 从插入模式切换为命令模式
按
「ESC」
键。
3.3 移动光标
vim
可以直接用键盘上的光标来上下左右移动,但正规的vim
是用小写英文字母「h」、「j」、「k」、「l」
,分别控制光标左、下、上、右移一格
按「G」
:移动到文章的最后
按「 $ 」
:移动到光标所在行的“行尾”
按「^」
:移动到光标所在行的“行首”
按「w」
:光标跳到下个字的开头
按「e」
:光标跳到下个字的字尾
按「b」
:光标回到上个字的开头
按「#l」
:光标移到该行的第#
个位置,如:5l,56l
按[gg]
:进入到文本开始
按[shift+g]
:进入文本末端
按「ctrl」+「b」
:屏幕往“后”移动一页
按「ctrl」+「f」
:屏幕往“前”移动一页
按「ctrl」+「u」
:屏幕往“后”移动半页
按「ctrl」+「d」
:屏幕往“前”移动半页
3.4 删除文字
「x」
:每按一次,删除光标所在位置的一个字符
「#x」
:例如,「6x」
表示删除光标所在位置的“后面(包含自己在内)”6
个字符
「X」
:大写的X,每按一次,删除光标所在位置的“前面”一
个字符
「#X」
:例如,「20X」
表示删除光标所在位置的“前面”20
个字符
「dd」
:删除光标所在行
「#dd」
:从光标所在行开始删除#
行
3.5 复制
「yw」
:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」
:复制#个字到缓冲区
「yy」
:复制光标所在行到缓冲区。
「#yy」
:例如,「6yy」
表示拷贝从光标所在的该行“往下数”6
行文字。
「p」
:将缓冲区内的字符贴到光标所在位置。
注意:所有与“y
”有关的复制命令都必须与“p
”配合才能完成复制与粘贴功能。
3.6 替换
「r」
:替换光标所在处的字符。
「R」
:替换光标所到之处的字符,直到按下「ESC」
键为止。
3.7 撤销上一次操作
「u」
:如果您误执行一个命令,可以马上按下「u」
,回到上一个操作。按多次“u
”可以执行多次回复。
「ctrl + r」
: 撤销的恢复
3.8 更改
「cw」
:更改光标所在处的字到字尾处
「c#w」
:例如,「c3w」
表示更改3
个字
3.9 跳至指定的行
「ctrl」+「g」
列出光标所在行的行号。
「#G」
:例如,「15G」
,表示移动光标至文章的第15
行行首。
四、vim末行模式命令集
在使用末行模式之前,请记住先按「ESC」
键确定您已经处于正常模式,再按「:」
冒号即可进入末行模式。
4.1 列出行号
「set nu」
: 输入「set nu」
后,会在文件中的每一行前面列出行号。
4.2 跳到文件中的某一行
「#」
:「#」
号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15
,再回车,就会跳到文章的第15
行。
4.3 查找字符
「/关键字」
: 先按「/」
键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」
会往后寻找到您要的关键字为止。
「?关键字」
:先按「?」
键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」
会往前寻找到您要的关键字为止。
4.4 保存文件
「w」
: 在冒号输入字母「w」
就可以将文件保存起来
4.5 离开vim
「q」
:按「q」
就是退出,如果无法离开vim
,可以在「q」
后跟一个「!」
强制离开vim
。
「wq」
:一般建议离开时,搭配「w」
一起使用,这样在退出的时候还可以保存文件。