1. vim的基本概念
我们这里讲解
vim
的三种模式
(
其实有好多模式,目前掌握这
3
种即可
),
分别是命令模式(
command mode
)、插入模式(Insert mode
)和底行模式(
last line mode
),各模式的功能区分如下:
正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入
Insert mode
下,或者到
last line mode
插入模式(Insert mode)
只有在
Insert mode
下,才可以做文字输入,按「
ESC
」键可回到命令行模式。该模式是我们后面用的最频繁
的编辑模式。
末行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,
shift+:
即可进入该模式。要查看你的所有模式:打开vim
,底行模式直接输入:help vim-modes
我这里一共有
12
种模式:six BASIC modes
和
six ADDITIONAL modes.
2. vim的基本操作
进入
vim,
在系统提示符号输入
vim
及文件名称后,就进入
vim
全屏幕编辑画面
:
vim test.c
![](https://i-blog.csdnimg.cn/blog_migrate/a9267762369c9efda9dfb833ac031653.png)
不过有一点要特别注意,就是你进入
vim
之后,是处于
[
正常模式
]
,你要切换到
[
插入模式
]
才能够输入文
字
[正常模式]切换至[插入模式]
输入
a
输入
i
输入o
[插入模式]切换至[正常模式]
目前处于
[
插入模式
]
,就只能一直输入文字,如果发现输错了字
,
想用光标键往回移动,将该字删除,可以先按一下「ESC
」键转到
[
正常模式
]
再删除文字。当然,也可以直接删除。
[正常模式]切换至[末行模式]
「
shift + ;
」
,
其实就是输入「:」
退出
vim
及保存文件
,
在
[
正常模式
]
下,按一下「:」冒号键进入「
Last line mode
」
,
例如
:
:w (保存当前文件)
: wq (
输入「
wq
」
,
存盘并退出
vim)
: q! (
输入
q!,
不存盘强制退出
vim)
3. vim正常模式命令集
插入模式
按「i」切换进入插入模式「
insert mode
」,按
“i”
进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
从插入模式切换为命令模式
按「
ESC
」键。
移动光标
vim
可以直接用键盘上的光标来上下左右移动,但正规的
vim
是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
按「
G
」:移动到文章的最后
按「
$
」:移动到光标所在行的
“
行尾
”
按「^」:移动到光标所在行的
“
行首
”
按「
w
」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「
#l
」:光标移到该行的第
#
个位置,如:
5l,56l
按[
gg
]:进入到文本开始
按[
shift
+
g
]:进入文本末端
按「
ctrl
」
+
「b」:屏幕往
“
后
”
移动一页
按「
ctrl
」
+
「f」:屏幕往
“
前
”
移动一页
按「
ctrl
」
+
「u」:屏幕往
“
后
”
移动半页
按「
ctrl
」
+
「d」:屏幕往
“
前
”
移动半页
删除文字
「x」:每按一次,删除光标所在位置的一个字符
「
#x
」:例如,「
6x
」表示删除光标所在位置的
“
后面(包含自己在内)
”6
个字符
「X」:大写的
X
,每按一次,删除光标所在位置的
“
前面
”
一个字符
「
#X
」:例如,「
20X
」表示删除光标所在位置的
“
前面
”20
个字符
「
dd
」:删除光标所在行
「
#dd
」:从光标所在行开始删除
#
行
复制
「
yw
」:将光标所在之处到字尾的字符复制到缓冲区中。
「
#yw
」:复制
#
个字到缓冲区
「
yy
」:复制光标所在行到缓冲区。
「
#yy
」:例如,「
6yy
」表示拷贝从光标所在的该行
“
往下数
”6
行文字。
「p」:将缓冲区内的字符贴到光标所在位置。
注意:所有与
“y”
有关的复制命令都必须与
“p”
配合才能完成复制与粘贴功能。
替换
「r」:替换光标所在处的字符
「
R
」:替换光标所到之处的字符,直到按下「
ESC
」键为止。
撤销上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次
“u”
可以执行多次回复。
「
ctrl + r
」
:
撤销的恢复
更改
「
cw
」:更改光标所在处的字到字尾处
「
c#w
」:例如,「
c3w
」表示更改
3
个字
跳至指定的行
「
ctrl
」
+
「g」列出光标所在行的行号。
「
#G
」:例如,「
15G」,表示移动光标至文章的第
15
行行首。
4. vim末行模式命令集
在使用末行模式之前,请记住先按「
ESC
」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。
列出行号
「
set nu
」
:
输入「
set nu
」后,会在文件中的每一行前面列出行号。
跳到文件中的某一行
「#」
:
「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字
15
,再回车,就会跳到文章的第15
行。
查找字符
「/关键字」
:
先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 「n」会往后寻找到您要的关键字为止。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直
按「n」会往前寻找到您要的关键字为止。
问题:/ 和 ?查找有和区别?操作实验一下
保存文件
「
w
」
:
在冒号输入字母「
w
」就可以将文件保存起来
离开
vim
「q」:按「q」就是退出,如果无法离开
vim
,可以在「q」后跟一个「!」强制离开
vim
。
「
wq
」:一般建议离开时,搭配「
w
」一起使用,这样在退出的时候还可以保存文件。
5. vim操作总结
三种模式
正常模式
插入模式
底行模式
我们一共有
12
种总模式,大家可以研究一下
vim
操作
打开,关闭,查看,查询,插入,删除,替换,撤销,复制等等操作。
6. 简单vim配置
6.1配置文件的位置
在目录
/etc/
下面,有个名为
vimrc
的文件,这是系统中公共的
vim
配置文件,对所有用户都有效。
而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:
“.vimrc”
。例如,
/root
目录下,
通常已经存在一个
.vimrc
文件
,
如果不存在,则创建之。
切换用户成为自己执行
su
,进入自己的主工作目录
,
执行
cd ~
打开自己目录下的
.vimrc
文件,执行
vim .vimrc
6.2常用配置选项,用来测试
设置语法高亮
: syntax on
显示行号
: set nu
设置缩进的空格数为
4: set shiftwidth=4