Linux编辑器vim

举报
ARMCSKGT 发表于 2023/05/28 13:44:17 2023/05/28
【摘要】 介绍vim的基本使用知识!

​ 本文已收录至《Linux知识与编程》专栏!
作者:ARMCSKGT
演示环境:CentOS 7 

  


前言

我们在使用一款操作系统时,无论是什么系统都有属于自己默认的文本编辑器,本节将介绍Linux编辑器vim!学习完vim,我们就可以相对自由的在Linux上写代码了,最后我们会配置vim环境,搭建主要用于C/C++代码编辑的vim。


正文

vim是一款多模式编辑器,各种模式,每种模式的用法有差别,每种模式相互切换,是一个单纯的编辑器而非编译器。


vim常用方式


进入vim

指令:

vim [文件]
未配置的vim进入文本的界面 编辑
左下角显示文文本名和当前的模式 编辑

退出vim

操作:按键盘上Esc退回到命令模式(或直接Esc退回),然后使用shift+:键,右下角显示模式的位置显示冒号,这是底行模式。在底行模式下输入q退出,一般是输入wq,表示保存并退出



vim基本模式及模式功能

vim一共有12种模式,其中我们会用到的只有5种模式,常用的只有3种模式:命令模式,插入模式和底行模式!


命令模式 

切换方式:任意模式下Esc键进入!

对于未配置的vim进入后左下角是没有任何显示的,这时表示处于命令模式!

命令模式是vim的默认模式,我们使用vim打开任意文件的初始模式都是命令模式,在其他模式下如果想退回命令模式直接按Esc键即可。既然是命令模式就有许多可用的命令在后面会详细介绍!


常用命令

按键中没有提示的默认小写!

1. 移动光标类
vim可以直接用键盘上的光标来上↑,下↓,左←,右→移动,但正规的vim是用小写英文字母「h」、「j」「k」、「l」,分别控制光标左、下、上、右移一格。

h,j,k,l 控制光标上下左右移动

G (或shift+g)

光标移动到文章的最后一行开头
#G (或#shift+g) 光标移动到文章的第 # 行
shift + $ 光标移动到光标所在行的“行尾”
shift + ^ 光标移动到光标所在行的“行首”
w 光标跳到下个字的开头
e 光标跳到下个字的字尾
b 光标回到上个字的开头
#|( | 是竖画线) 光标移到该行的第#个位置
gg 进入到文本开始
CTRL+ b 屏幕往“后”移动一页
CTRL+ f 屏幕往“前”移动一页
CTRL+ u 屏幕往“后”移动半页
CTRL+ d 屏幕往“前”移动半页
CTRL+ g 显示行号和光标所在文章内容百分比(一般显示在左下角)


2.剪切复制粘贴类

dd 剪切光标所在行
#dd 从光标所在行开始剪切后面的 # 行 (包括光标所在行)
x 每按一次,剪切光标所在位置的一个字符
#x 剪切光标所在位置的“后面(包含自己在内)的 # 个字符
X(大写) 每按一次,剪切光标所在位置的“前面”一个字符
#X(大写) 剪切光标所在位置的“前面"的 # 个字符(不包括自己)
yw 将光标所在之处到字尾的字符复制(到缓冲区中)
#yw 复制#个字(到缓冲区)
yy 复制光标所在行(到缓冲区)
#yy 从光标所在行开始向下复制 # 行(包括光标所在行)
p 将缓冲区内的字符贴到光标所在位置。(注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。)

注意:在vim中是没有特别的删除命令的,剪切后不粘贴就是删除!


3.撤销类

u 撤销,撤回一步(还原到上一步操作,类似于Windows的CTRL + z)
CTRL+ r 前进,撤回撤销(相当于Windows的CTRL+ y)


4.替换更改类

cw 更改光标所在处的字到字尾处(相当于一个单词)
c#w 更改 # 个词组
r 替换光标所在处的字符
shift+ ~ 将光标处的字母进行大小写切换

插入模式

切换方式:命令模式下使用Insert(Ins)/i/o/a键进入!

左下角显示INSERT字样表示处于插入模式!

插入模式是我们以后进行编辑最常用的方式,只有插入模式下才能自由编辑,否则就会转换为指令!


命令模式下进入插入模式的方法:

Insert(Ins) 切换为插入模式且光标停留在原位
i 键
o 键 切换为插入模式并以光标的当前位在下一行重起一行空行
a 键 切换为插入模式且光标向后移动一位

底行模式

切换方式:命令模式下shift+: 进入!

切换为底行模式后,左下角会显示一个待输入指令。

底行模式下也有很多指令,而且我们以后退出vim都是使用底行模式。在文章后面我们会详细介绍。



常用指令

1.设置行号指令

:set nu //开启行号显示
:set nonu //关闭行号显示



2.光标跳转指令

:# //调转到第 # 行


3.搜索字符串并高亮

:/(需要搜索的字符串)
:?(需要搜索的字符串)

编辑

 此时光标所在的高亮字符会呈现不同的高亮色,如果是使用 / 搜索的字符按n键可以让光标移向下一个高亮的字符,如果是使用 ? 搜索按n键可以让光标移动到上一个高亮字符!

  


4.底行模式执行Linux命令

:!(Linux指令)

一般我们在写代码时通过这个命令编译代码文件然后执行程序,这样我们既可以不退出vim也可以查看程序运行情况!

编辑

  


5. 指定字符串并替换

:%s/被替换的文本/替换文本/g  


6.多文件vim分屏操作

:vs 文件


vs分屏打开文件时如果没有文件vim会创建在本地一个文件,如果有该文件则可以使用Tap键自动补齐文件名。

在两个vim窗口之间切换要使用CTRL + 连续按两次w



7.保存文件

:w //将文本保存在本地

   


8.退出vim

:q //退出vim

替换模式

切换方式:命令模式下大写R进入(或shift+小写r)。

切换为替换模式后左下角会显示REPLACE字样,代表处于替换模式!

在替换模式下键盘输入的任何字符都会替换当前光标处的字符(包括空格),所以理论上替换模式也可以实现编辑但是不太方便,例如不能删除字符只能替换为空格!


视图模式

切换方式:命令模式下小写v或大写V键!

通过小写v切换为视图模式左下角显示 VISUAL 此时视图模式的选中方式为逐字符选中。

通过大写V切换的视图模式左下角显示 VISUAL LINE ,此时为逐行选中,光标所在行的整行都会被选中!

视图模式通常用于整体替换和快速浏览文本,在代码编辑中快速注释也是通过视图模式!



视图模式代码注释小技巧

1.CTRL+ 大小写v/V,进入视图行插入文本模式

2.通过光标的移动选中需要注释的行(选择时选中两列)

3.切换为大写模式按 I (大写 i )

4.在光标原地输 // 即可完成注释!(如果要插入其他字符也是这样操作)


配置vim


之前在初步介绍时展示的都是未配置的vim,没有配置的vim非常难以使用,来写代码和文本是非常困难的!

   

我们自己可以修改vim的默认配置文件,来配置我们自己的vim,使它更符合我们的使用!

首先vim的配置文件在用户的家目录~下(每个用户只能配置自己的vim),该文件被隐藏起来了,需要使用ls -a来查看,文件名是.vimrc


自己配置vim

使用vim打开文件.vimrc文件,写入配置指令!

保存并退出,再次打开vim查看文本文件!

其他配置:

1.自动缩进:set autoindent
2.突出显示当前行: set cursorline


还有其他很多选项,大家有需要可以在网上搜索进行详细的个性化配置!


 自动化配置vim

对于手动配置vim好像非常麻烦,而一般我们配置vim是为了写代码,所以网上有一套非常成熟的配置,可以下载到本地使用!这就是VimForCpp


可以在giett官网搜索VimForCpp(网页:VimForCpp: 快速将vim打造成c++ IDE (gitee.com))

 进入主页向下翻就能看到步骤和介绍! 

这里感谢这位大佬提供的vim配置方案!

   

  

安装步骤及命令:

1.在 shell 中执行以下指令(命令较长请将下列命令复制完整)

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

2.需要按照提示输入 root 密码


注意: 这个自动安装的方法,目前仅适用于 Centos 7.6 ,其他平台可能会出现安装失败的情况!


最后

Linux编辑器vim的介绍到这里就结束了,相信vim的学习会为大家打开Linux编程的大门,让我们在Linux中更加畅快的进行开发!

本次Linux编辑器vim知识就介绍到这里啦,希望能够尽可能帮助到大家。

如果文章中有瑕疵,还请各位大佬细心点评和留言,我将立即修补错误,谢谢!

 🌟其他文章阅读推荐🌟


Linux 软件包管理器 yum

Linux基础指令

Linux权限的基本知识

🌹欢迎读者多多浏览多多支持!🌹

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。