Linux——vim简介、配置方案(附带超美观的配置方案)、常用模式的基本操作

简介: Linux——vim简介、配置方案(附带超美观的配置方案)、常用模式的基本操作

vim简介、配置方案、常用模式的基本操作

本章思维导图:

注:本章思维导图对应的xmind.png文件都已同步导入至资源

1. vim简介

vim是Linux常用的文本编辑器,每个Linux账户都独有一个vim编辑器

本篇我们介绍vim最常用的三种模式:命令模式(command mode)、底行模式(last line mode)、插入模式(insert mode)

1.1 命令模式

  • 每次打开vim编辑器,默认进入的就是命令行模式
    在这里插入图片描述

  • 命令行模式下无法在打开的文件里插入任何数据只能执行对应的指令

1.2 底行模式

  • 底行模式由命令模式进入

进入方法:命令模式下输入:冒号:,即shift + ;

  • 底行模式下同样不能向打开的文件进行写操作,只能执行对应的底行命令
  • 如果要从底行模式退出,按Esc键即可。且退出到命令模式

1.3 插入模式

  • 插入模式由命令模式进入

进入方法:命令模式下输入:i或者s或者a

  • i:表示从光标所在位置进行插入
  • a:表示从光标的下一个位置进行插入
  • s:表示,删除光标所在字符,再从光标位置进行插入

  • 只有在插入模式下才可以对打开的文件进行写操作,即编写程序
  • 如果要从插入模式退出,按Esc键即可。且退出到命令模式

1.4 命令模式、底行模式和插入模式的进出关系

  • 可以看出,命令模式是核心模式,它既可以进入插入模式,也可以进入底行模式
  • 插入模式和底行模式都可以退出到命令模式
  • 插入模式和底行模式不可以直接转换,必须先进入命令模式,再执行对应的命令进入

2. vim的配置

我们先用上面展示的vim编辑器写一段简单的展示代码:

可以看到,默认的Linuxvim编辑器有两大致命缺陷:

  • 界面太过简单,可以说是简陋
  • 编写程序时没有基本的自动缩进、高亮、自动补齐等许多Windos编译器都有的功能,使得用起来极度不方便

2.1 .vimrc 隐藏文件

针对上述问题,Linux允许我们修改vim的配置信息,是其具有更加丰富的功能。而vim编辑器进行修改的信息,就会放在.vimrc这个隐藏文件中

  • root账户中,.vimrc这个隐藏文件默认就在root账户的家目录下:

  • 而在普通账户中,.vimrc文件不会被默认创建,需要自己手动创建:

2.2 配置vim编辑器的方法

一种方法是下载插件,但这种方法较为复杂,这里不做介绍,感兴趣的小伙伴可以上网查阅

还有一种方法就是直接向.vimrc文件写入指定内容,从而让vim编辑器具备某种指定的功能

  • 例如,我们现象.vimrc文件中输入
set number    显示行号
  • 再次打开vim编辑器,其页面就会变为:

  • 这样,如果想要让自己的vim编辑器具有某种功能,只需要在.vimrc文件中输入对应的指令就可以了

当然了,如果想要一条条的向.vimrc文件输入各种指令最终实现自己预想的美观的vim编辑器,这个过程肯定是费时且费力的。因此,博主已经为大家准备好了一个较为美观的.vimrc配置文件。先来看看效果:

如果大家想要使用这个配置方案,直接执行下面的命令即可:

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

注:

3. vim常用模式的基本操作

3.1 命令模式

3.1.1 快速移动光标

  • $shift + 4:将光标快速移动到所在行的最右侧
  • ^shift + 6:将光标快速移动到所在行的最左侧
  • Gshift + g:将光标快速移动到文本的结束位置(最后一个字符)
  • gg:将光标快速移动到文本的开始位置(第一个字符)

3.1.2 移动光标

可以用小键盘的⬆、⬇、⬅、➡将光标移动到对应的位置。

但是在Linux中,更推荐用h, j, k, l这四个字母来移动光标

  • h:即将光标向左移动一个字符
  • j:即将光标向下移动一个字符
  • k:即将光标向上移用一个字符
  • l:即将光标向右移动一个字符

实际上还有其他移动光标的方式,例如:

  • w:以字母为单位,将光标向右移动
  • b:以字母为单位,将光标向左移动

3.1.3 复制与粘贴

可以用相关命令对文本的一行或者多行执行复制粘贴操作:

  • (n)yy:赋值当前(n)行
  • (n)p:在光标所在行的下面粘贴(n行)

3.1.4 撤回与取消撤回

  • u:取消上一步执行的操作
  • Ctrl + r:取消上一次的撤回操作

3.1.5 删除行

ndd:删除当前所在的(n)行

3.1.6 字符处理

替换字符:

  • (n)~:将光标后面的(n个)字符,大小变小写,小写变大写
  • (n)r 输入:将光标后面的(n个)字符全部替换为输入的字符
  • shift + r:进入替换模式,此时光标所在的字符被替换为输入的字符

删除字符:

  • (n)x:删除光标所在(n个)字符(向后删除)
  • (n) + shift + x:删除光标所在(n个)字符(向前删除)

3.1.7 批量化注释和去注释

批量化注释:

  1. 第一步:Ctrl + v
  2. 第二步:h, j, k, l选择要被注释的区域
  3. 第三步:shift + i
  4. 第四步://
  5. 第五步:Esc

批量化去注释:

  1. 第一步:Ctrl + v
  2. 第二步:h, j, k, l选择要被去注释的区域
  3. 第三步:d

3.1.8 多窗口之间的切换

Ctrl + ww

3.2 底行模式

保存与退出:

  • q(!):(强制)退出
  • w(!):(强制)保存
  • wq(!):(强制)保存并推出

在不退出vim编辑器的情况下使用shell命令:

! 命令

新建或者打开文件,并新开一个窗口:

vs filename

3.3 处理vim打开文件报错的情况

如果我们在用vim编辑器处理文件时错误的退出当前的编辑(例如直接关闭云服务器或者虚拟机),那么再次用vim打开相同的文件时,就会出现如下报错信息:

我们按如下的步骤解决:

  • 第一步:选择R(ecover)选项,即输入字符e,之后会进入vim编辑器,直接进入底行模式正常退出即可
  • 第二步:继续用vim打开该文件,此时同样会弹出相同的报错信息,这次选择(D)elele it选项,即输入字符d,之后就会进入vim编辑器,此时问题已经得到解决,可以正常进行编写代码了。
相关文章
|
18天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
2天前
|
Oracle Java 关系型数据库
Linux环境安装配置JDK11
Linux环境安装配置JDK11
20 0
|
2天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
14 1
|
4天前
|
人工智能 数据可视化 Linux
【linux基础(五)】Linux中的开发工具(上)---yum和vim
【linux基础(五)】Linux中的开发工具(上)---yum和vim
|
4天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
35 1
|
4天前
|
运维 网络协议 Linux
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
31 1
|
5天前
|
Ubuntu 网络协议 Linux
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
28 0
|
5天前
|
Linux
Linux(9)Debain EC25 quectel-CM usbnet0开机自动联网配置
Linux(9)Debain EC25 quectel-CM usbnet0开机自动联网配置
15 0
|
8天前
|
Linux 网络安全 开发工具
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
|
8天前
|
缓存 安全 Ubuntu
Linux配置代理上网
如何配置Linux代理
18 1