深入了解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

相关推荐
QT.qtqtqtqtqt24 分钟前
攻防世界easyphp
linux·运维·服务器
菜鸟康1 小时前
Linux系统编程——系统内核中的信号
linux·运维·服务器
CSND7403 小时前
Ubuntu vi(vim)编辑器配置一键补全main函数
linux·c语言·ubuntu·编辑器·vim
シ風箏6 小时前
Neo4j【环境部署 02】图形数据库Neo4j在Linux系统ARM架构下的安装使用
linux·数据库·arm·neo4j
C.L.L7 小时前
vscode中同时运行两个python文件(不用安装插件)
ide·vscode·编辑器
Cachel wood8 小时前
Vue.js前端框架教程8:Vue消息提示ElMessage和ElMessageBox
linux·前端·javascript·vue.js·前端框架·ecmascript
小屁不止是运维10 小时前
麒麟操作系统服务架构保姆级教程(二)ssh远程连接
linux·运维·服务器·学习·架构·ssh
超爱吃士力架11 小时前
Ubuntu操作系统安装docker
linux·前端·后端
黑客K-ing12 小时前
网络安全防范
linux·服务器·web安全
王三三13 小时前
群晖利用acme.sh自动申请证书并且自动重载证书的问题解决
linux·自动化·证书·群晖·acme·acme.sh·lets encrypt