深入了解Linux —— 学会使用vim编辑器

前言

学习了Linux中的基本指令也理解了权限这一概念,但是我们怎么在Linux下写代码呢?

本篇就来深入学习Linux下的vim编辑器;学会在Linux下写代码。

软件包管理器

1. 软件包?

  • 在Linux下安装软件,通常是下载程序的源码,进行编译获得可执行程序。
  • 这样太麻烦了,于是就有了将常用的软件提前编译好做成软件包(相当于Linux中安装程序),放在一个服务器上,通过包管理器可以非常方便的获取到这个编译好的软件包,直接安装。
  • yum 就是Linux下非常常用的一种包管理器,(应用于FedoraRedHatCentos等发行版本上)。
  • Ubuntu上,只要使用apt作为包管理器。

2. Linux中软件

​ 首先,在Linux下安装软件,是在软件包服务器上查找对应软件,下载请求进行安装。

对于Linux软件安装这里就不解释那么多了,现在知道yum安装软件即可。

Vim编辑器

​ 首先,先来看一下Vi/Vim键盘图

看起来好乱,我知道你很急,但你先别急;随我细细看来。

1. 什么是Vim编辑器?

​ vim 是一款常用的文本编辑器,特别适合在Linux和Unix操作系统下进行程序开发、系统管理等工作。使用 vim 可以高效地编辑各种类型的文件,例如代码文件、配置文件等。在Linux系统中,大部分配置文件都是ASCII的纯文本形式存放的,因此使用vim进行编辑是非常方便和实用的。

Vim之前呢,使用ViVim可以说是Viplus版本;

VimVi都是多模式编辑器,不同的是Vim相比于Vi有一些新的特性,语法加亮,可视化操作、不仅可以在终端运行,也可以运行于windows、macOS等。

2. vim的安装

首先输入指令vim,如果显示下图界面,就表示已经安装过了

这里按:Shift + ;),然后输入q,然回车即可退出。

安装vim

​ 安装非常简单,直接执行下图指令即可。

复制代码
yum install -y vim

3. Vim常见的工作模式

vim作为一款 多模式的编辑器,有着各种各样的模式,共12种,但是正常情况学会使用其中的5种即可应用于多数开发环境。

正常/普通/命令模式(Normal mode)

进入Vim编辑器的默认模式,该模式下可以控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进⼊Insert mode下,或者到 last line mode

插入模式((Insert mode)

在命令行模式下,按i键进入插入模式;

只有在该模式下,才能进行内容的写入;按Esc可以返回命令行模式

底行模式

在命令行模式下,按:(Shift + ;)键进入插入模式;

文件保存和退出都在底行模式才能执行,也可以进行文件替换,查找字符串,列出行号等操作。

最经常使用的就是上面这三种模式,其他的模式就不在叙述了;感兴趣可以去学习一下其他模式


命令行模式命令集

命令行的相关指令有很多,这里将其进行简单分类。

移动光标:

先来看光标相关的指令

gg:定为光标至文本最开始

G:定位光标到文本结束

​ 当然,也可以定位到任意行,只需加上n即可

$:定位到行结尾

$这个符号是键盘上的Shift + 4 (英文下),作用是定位到行结尾位置

^:定位到行开头

$这个符号是键盘上的Shift + 6 (英文下),作用是定位到行开头位置

w:以单词为单位,向后移动

​ 有了光标定位行,行结尾和开头;那如果行内容特别长,我们还是需要一个一个移动光标至特定位置;

w可以加速我们的移动,让我们在一行内移动光标不再是一个字符应该字符移动,而是以单词为单位(是Linux中识别,不是指英语单词)。

b:以单词为单位,向前移动

只有向后移动可不行,bw相反,b可以以单词为单位向前移动。(这里就不再演示了)。

复制/剪切 与 粘贴:

yy:复制当前行

yy可以赋值当前行内容,n+yy可以复制从当前行开始的n行内容。

p: 贴到当前行的下一行

p粘贴,将内容粘贴到当前行的下一行,n + p 可以粘贴n行。

dd:剪切当前行

dd剪切当前行,n + dd 剪切从当前行开始的后面n行。

yw: 将光标位置到字尾的字符复制到缓冲区

yw复制光标位置到字尾的字符,n + yw复制n个字符。

撤销:

u: 撤销操作,回到上一次操作之前

Ctrl + R: 对u的撤销操作进行撤销。

这两个操作比较有意思,u可以撤销Ctrl + R的撤销操作,而Ctrl + R又可以撤销u的撤销操作。

删除:

x:删除光标当前位置的字符

x可以删除光标当前位置的字符,n + x 可以删除从光标当前位置开始后面n个位置的字符。

X:删除光标位置的前一个字符。

X删除光标位置前,n + X 可以删除光标位置前n个字符。

X就是删除光标位置前的字符,这里就不演示了。

修改:

r: 修改光标当前位置的内容

r可以修改光标当前位置的内容,n + r 可以修改光标从当前位置开始后面n个字符的内容。

插入模式命令集

​ 插入模式主要用于内容的写入,命令集相对较少;

命令行模式下,按i 即可进入插入模式

Shift+ 方向键上下移动:移动光标并选择文本
Shift + Insert:粘贴剪切板中的内容
shift + i 将光标快速切换到 当前行行首
shift + a 将光标快速切换到 当前行行尾
shift + o 将光标快速切换到 上一行行首

插入模式下,按Esc键即可返回命令行模式。

底行模式命令集

​ 命令行模式下,按:即可进入底行模式。

列出/取消行号

set nu: 列出行号

set nonu: 取消行号

跳转到某一行:

n:在冒号后输⼊⼀个数字,再按回车键就会跳到第n行了

查找字符:

/关键字:按/键,然后输入想要查找的字符,如果第一次找的不是想要的哪一个,可以按n跳转到下一个查找到的内容

?关键字:按?键,然后输入想要查找的字符,如果第一次找的不是想要的哪一个,可以按n跳转到下一个查找到的内容

保存和退出:

w:保存文件

q: 退出vim,(q!强制退出)。

通常情况下wq一起使用,保存并退出。

4. vim 使用便利操作

同时打开多个文件

​ 在我们已经使用vim打开一个文件时,如果想要再打开另外一个文件,这时就在命令行模式下输入vs 文件名称即可。

替换模式:快速注释

vim中存在一种模式,可以快速替换文本内容------ 替换模式

现在我们想要注释多行数据,如果在插入模式中一行一行注释就有点太慢了;现在使用替换模式快速注释。

操作如下:

  1. 首先在命令行模式下按Ctrl+v 进入视图模式
  2. 在视图模式下选择多行(h左、j下、k上、l右)
  3. A(Shift+a),进入插入模式
  4. 注释后,返回命令行模式即可

批量化去注释

能批量化注释,那也要会批量化去注释

  1. 首先在命令行模式下按Ctrl+v 进入视图模式
  2. 在视图模式下选择多行(h左、j下、k上、l右)
  3. d删除即可

​ 到这里,vim的基本操作相信你已经了解,并且已经回使用vim来编写一段代码了。

使用体验提升:vim的配置

如果vim没有任何配置,使用起来就十分不方便,这里简单配置一下

  • 在目录/etc/下,有一个vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
  • 建议在自己的家目录下配置即可;在家目录下创建配置文件,名.vimrc(一个隐藏文件)。
  • vim .vimrc打开.vimrc文件 自己配置vim

常用配置:

  • 设置语法高亮:syntax on
  • 显示行号:set nu
  • 设置缩进:set shiftwidth=4

如果有实力,可以自己配置;当然也可以使用别人配置好的vim。

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2oul0hvapjsws

相关推荐
xq51486327 分钟前
Linux系统下安装mongodb
linux·mongodb
柒七爱吃麻辣烫27 分钟前
在Linux中安装JDK并且搭建Java环境
java·linux·开发语言
孤寂大仙v1 小时前
【Linux笔记】——进程信号的产生
linux·服务器·笔记
深海蜗牛1 小时前
Jenkins linux安装
linux·jenkins
愚戏师2 小时前
Linux复习笔记(三) 网络服务配置(web)
linux·运维·笔记
JANYI20182 小时前
嵌入式MCU和Linux开发哪个好?
linux·单片机·嵌入式硬件
熊大如如2 小时前
Java NIO 文件处理接口
java·linux·nio
晚秋大魔王3 小时前
OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——nettle库
linux·开源·harmonyos
农民小飞侠3 小时前
ubuntu 24.04 error: cannot uninstall blinker 1.7.0, record file not found. hint
linux·运维·ubuntu
某不知名網友3 小时前
Linux 软硬连接详解
linux·运维·服务器