【Linux】第七站:vim的使用以及配置

简介: 【Linux】第七站:vim的使用以及配置


一、vim

1.vim的介绍

vim编辑器,用来文本编写,可以写代码

它是一个多模式的编辑器

它有很多的模,不过我们暂时先只考虑这三种模式

  • 命令模式
  • 插入模式
  • 底行模式

2.vim基本使用

我们先创建一个test.c文件

然后我们直接

vim test.c

然后,我们会进入到如下的界面,我们会发现,我们进入以后什么无论按什么都是没有任何反应的,这是因为我们刚进入的时候就是默认模式,也就是命令模式

命令模式(默认模式):用户所有的输入都会被当作命令,一般不会给你作为文本输入

我们先看能不能直接写上代码,所以我们需要进入插入模式,只需要进入vim后直接按i即可进入

然后我们可以简单的写一个代码

然后我们现在需要退出vim

于是,我们可以先无脑ESC按键,然后按shift + ; ,即冒号。这样我们就切换到了底行模式,然后wq即可,

这里的w就是只保存不退出,q就是只退出不保存。wq就是保存并退出,如果加上!那么代表强制。

如果我们从底行模式转回命令模式,我们只需要无脑ESC即可

如下就是我们的三个模式之间的转换,对于插入模式和底行模式之间,我们不考虑它的直接切换

3.vim的命令模式常用命令

gg :定位光标到最开始的行

shift + g(即G) :定位光标到最结尾的行

n+shift + g (即nG) :定位光标到第n行,注意要使用键盘正上方的数字键

(n)yy :复制光标所在行(n行,不输入n则默认为1)

(n)p : 粘贴(n重复行)到光标所在行的下一行,不写n则默认为1

u : 撤销

ctrl + r : 撤销之前的撤销

(n)dd :剪切、删除n行

shift + $ : 定位光标到当前行结尾

shift + - : 定位光标当前行开始

w,b : 光标按照单词进行行内跨行进行移动

w是向后移动,而b是向前移动

也可以是n w(b),即按照单词进行移动n次

h ,j ,k, l : 分别对应左、下、上、右

推荐使用这四个键,因为有一些键盘没有上下左右

shift + ~ : 大小写转换

(n)r : 对光标字符开始的n个字符进行批量化替换,替换为新输入的字符,n默认为1

shift + R : 替换模式,对内容进行整体替换(第四种模式,退回命令模式直接ESC)

(n)x : 对光标字符之后的字符进行删除

4.底行模式

如果我们想要对比两个test.c文件

我们可以在底行模式下使用vs xxxx对应的文件名即可

这里需要注意的是使用vim可以打开一个我们还没有创建的文件,如果我们最后是直接q离开的话,那么这个文件将不会保存,如果保存了,那么最终将生成这个文件

如下所示

当我们想要切换的时候,我需要按ctrl + w +w ,也就是ctrl加两次w就可以切换窗口了

底行中,vs可以打开多个文件编辑窗口

ctrl ww : 窗口光标切换

光标在哪一个窗口里面,就对哪一个窗口进行操作

其次在vim的底行模式中,我们也可以编译代码,运行代码

只需要在我们正常的使用前加上一个!即可

还有一点是在底行也支持搜索,前面加上/,然后需要搜索的字符串即可

在底行中也可调出行号,使用set nu命令即可

去掉行号的命令是set nonu

二、vim的配置

当我们用vim写代码的时候,是非常难受的,因为都没有代码提示这些的

所以我们需要对vim做出一定的配置

我们先回到家目录下面,然后输入

ls -al

先查看是否有.vimrc这个隐藏文件,如果没有我们可以创建一个

然后我们直接用vim进入这个文件

比如说如果我们要配置要带上行号

我们就可以使用

set nu

然后保存退出即可,这时候,我们在进入vim去看其他文件的时候就默认有行号了

那么配置都在哪里有呢?都有哪些配置呢?

其实直接百度就可以了

然后我们可以根据自己的需要进行配置了

注意

一个用户一个vim配置,不会互相影响

一般不建议给root配置,只需要给普通用户配置即可

不过让我们自己去配置还是比较麻烦的,所以我们可以一键配置,直接在普通用户下复制粘贴下面的即可

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

下载完成之后,我们的vim就变得很舒服了

但是我们这里会多出来一个文件,我们可以直接将他给隐藏掉

当然我们这个配置的缩进是2,如果我们想要改为4的话直接修改即可

相关文章
|
3天前
|
Oracle Java 关系型数据库
Linux环境安装配置JDK11
Linux环境安装配置JDK11
26 0
|
20天前
|
安全 Ubuntu Java
Linux配置使用篇
Linux配置使用篇
|
1月前
|
存储 负载均衡 索引
linux7安装elasticsearch-7.4.0集群配置
linux7安装elasticsearch-7.4.0集群配置
113 0
|
21天前
|
搜索推荐 NoSQL Linux
Linux开发工具——vim篇
Linux开发工具——vim篇
|
21天前
|
Ubuntu Linux 编译器
【Linux】4. 开发工具的使用(yum/vim)
【Linux】4. 开发工具的使用(yum/vim)
44 2
|
19天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
3天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
16 1
|
4天前
|
人工智能 数据可视化 Linux
【linux基础(五)】Linux中的开发工具(上)---yum和vim
【linux基础(五)】Linux中的开发工具(上)---yum和vim
|
5天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
35 1
|
5天前
|
运维 网络协议 Linux
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
42 1