目录
vim是Linux和Unix环境下最基本的文本编辑器,类似于windows上的记事本
vim和Visual studio相比,vim并不集成,vim只能用来写代码
VS把写代码,编代码,运行,调试等功能集成在一起,所以VS才被成为集成开发环境IDE
vim中的三种模式以及基本操作
vim是多模式的,有最常用的三种模式:命令模式(默认模式),插入模式,底行模式
命令模式(默认模式)
当敲入指令vim xxx
(xxx为一个普通文件名)后,就会进入vim的页面
我们刚开始进入vim界面的模式就是命令模式,也叫默认模式
进来后是的这样的:
在命令模式中。我们敲击键盘会发现vim中没有显示我们敲击的内容,是因为在这个模式中,所有的输入都被当作是命令,所以不会显示我们输入的内容
插入模式
如果想要进行文本编辑,就需要输入i
,进入插入模式
输入i
后,我们可以在下面看到显示INSERT
,此时,我们就进入插入模式了,可以输入内容了
从插入模式回到命令模式,需要按键盘上的Esc
键,按Esc
后,就可以发现下面的INSERT
消失,就说明成功地返回到了命令模式
底行模式
那么假如我们编写好了代码,想要退出vim,需要进入底行模式才可以退出
在命令模式下,输入:
,进入底行模式
需要注意的是,只能从命令模式进入底行模式,从插入模式下是无法进入到底行模式下的,同样,在底行模式下也无法进入插入模式
下面显示:
就说明进入了底行模式
想要退出,只能在底行模式下输入wq
w
指的是保存
q
指的是退出
wq
指的是保存并退出
在底行模式下,单独输入w
或q
都是可以的,表示只保存和只退出
三种模式相互切换图:
命令模式下的命令
光标定位移动相关的命令:
按
gg
,光标定位到最开始行按
shift + g
也就是G
,光标定位到结尾行按
n + shift +g
光标定位到第n行按
shift + $
,光标定位到当前行的结尾按
shift + ^
,光标定位到当前行的开头按
b
, 光标定位到上一个单词的开头按
w
,光标定位到下一个单词的开头按
e
,光标定位到下一个单词的结尾按
h
j
k
l
,光标 左 下 右 上移动
复制粘贴删除相关
yy
,复制当前行内容
nyy
,复制从当前行开始n
行的内容
p
,粘贴到光标所在行的下一行
np
,粘贴n行
dd
,剪切当前行内容,也可以当作是删除当前行(只要不再重新粘贴就可以)
ndd
,剪切n行内容
(n)x
,对光标之后的n个字符进行删除
撤销
u
,撤销
ctrl + r
,取消撤销
大小写转换
shift + ~
,大小写转换
替换
(n)r
,对光标后的字符进行批量替换例如:
10 r y
就是将后面10个字符替换成y
·shift +r`,替换模式,对内容进行替换,在我们输入内容的同时,替换光标后的内容(这也是第4种模式------替换模式)
底行模式下的命令
w
,保存
q
,退出
wq
,保存并退出
w!
,强制保存
q!
,强制退出
set nu
,调出行号
set nonu
,去掉行号
前面我们提到的命令,都是在单文件中的操作
linux下也可以进行多文件编写
在底行模式下,输入vx +其他文件名
光标在哪个窗口,就在哪个窗口进行操作
在命令模式下,输入ctrl +w+w
进行窗口的切换
在底行模式下,可以不用退出就可以执行命令
比如,我们已经编写好了一段c语言代码在
test.c
文件中在底行模式下,执行编译命令
退出vim后,用ls查看,可以看到的确生成了
test.out
这个可执行文件