Linux中vim的基本使用

目录

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指的是保存并退出

在底行模式下,单独输入wq都是可以的,表示只保存和只退出

三种模式相互切换图:


命令模式下的命令

光标定位移动相关的命令:

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这个可执行文件


相关推荐
2301_819287122 小时前
ce第六次作业
linux·运维·服务器·网络
武汉联从信息2 小时前
如何使用linux日志管理工具来管理oracle osb服务器日志文件?
linux·运维·服务器
天天进步20152 小时前
STUN服务器实现NAT穿透
运维·服务器
月如琉璃2 小时前
1.gitlab 服务器搭建流程
服务器·gitlab
Kika写代码3 小时前
【微信小程序】页面跳转基础 | 我的咖啡店-综合实训
服务器·微信小程序·小程序
Aileen_0v03 小时前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper
州周3 小时前
Ftp目录整个下载
linux·服务器·数据库
Jackey_Song_Odd3 小时前
Ubuntu 24.04.1 解决部分中文字符(门、径)显示错误的问题
linux·ubuntu
kaixin_learn_qt_ing3 小时前
Linux export命令
linux
余额不足121383 小时前
C语言基础十六:枚举、c语言中文件的读写操作
linux·c语言·算法