Linux 一文详谈Vim编辑器的使用

目录

[Linux编辑器 - vim](#Linux编辑器 - vim)

vim的基本概念

vim下各模式的切换

vim底行模式各命令汇总

vim的简单配置


Linux编辑器 - vim

作为最难使用的编辑器之一的vim, 大家可以先看看下面这个图

这就是vim的使用方式, 大家学会了就可以去使用了 ... ... (开个玩笑)

vim的基本概念

vim在我们做开发的时候,主要解决我们编写代码的问题,本质上就是一个多模式的文本编辑器。

我们这里主要介绍vim最常用的三种模式:命令模式、插入模式、底行模式。

1、命令模式(Normal mode)。

在命令模式下,我们可以控制屏幕光标的移动,字符、字或行的删除,复制粘贴,剪贴等操作。

2、插入模式(Insert mode)。

只有在插入模式下才能进行文字输入,该模式是我们使用最频繁的编辑模式。

3、底行模式(Command mode)。

在底行模式下,我们可以将文件保存或退出,也可以进行查找字符串等操作。在底行模式下我们还可以直接输入vim help-modes查看当前vim的所有模式。

vim下各模式的切换

指令: vim 文件名

进入vim后默认为命令模式(普通模式),要输入文字需切换到插入模式。

【命令模式】切换至【插入模式】

1)输入「i」:在当前光标处进入插入模式。

2)输入「a」:在当前光标的后一位置进入插入模式。

3)输入「o」:在当前光标处新起一行进入插入模式。

【命令模式】切换至【底行模式】

1)输入「Shift+;」即可,实际上就是输入「:」。

【插入模式】或【底行模式】切换至【命令模式】

1)插入模式或是底行模式切换至命令模式都是直接按一下「Esc」键即可。

vim命令模式各命令汇总

【移动光标】

1)按「k」:光标上移。

2)按「j」:光标下移。

3)按「h」:光标左移。

4)按「l」:光标右移。

5)按「$」:移动到光标所在行的行尾。

6)按「^」:移动到光标所在行的行首。

7)按「gg」:移动到文本开始。

8)按「Shift+g」:移动到文本末尾。

9)按「n+Shift+g」:移动到第n行行首。

10)按「n+Enter」:当前光标向下移动n行。

11)按「w」:光标从左到右,从上到下的跳到下一个字的开头。

12)按「e」:光标从左到右,从上到下的跳到下一个字的结尾。

12)按「b」:光标从右到左,从下到上的跳到上一个字的开头

【删除】

1)按「x」:删除光标所在位置的字符。

2)按「nx」:删除光标所在位置开始往后的n个字符。

3)按「X」:删除光标所在位置的前一个字符。

4)按「nX」:删除光标所在位置的前n个字符。

5)按「dd」:删除光标所在行。

6)按「ndd」:删除光标所在行开始往下的n行。

【复制粘贴】

1)按「yy」:复制光标所在行到缓冲区。

2)按「nyy」:复制光标所在行开始往下的n行到缓冲区。

3)按「yw」:将光标所在位置开始到字尾的字符复制到缓冲区。

4)按「nyw」:将光标所在位置开始往后的n个字复制到缓冲区。

5)按「p」:将已复制的内容在光标的下一行粘贴上。

6)按「np」:将已复制的内容在光标的下一行粘贴n次。

【剪切】

1)按「dd」:剪切光标所在行。

2)按「ndd」:剪切光标所在行开始往下的n行。

3)按「p」:将已剪切的内容在光标的下一行粘贴上。

4)按「np」:将已剪切的内容在光标的下一行粘贴n次。

【撤销】

1)按「u」:撤销。

2)按「Ctrl+r」:恢复刚刚的撤销。

【大小写切换】

1)按「~」:完成光标所在位置字符的大小写切换。

2)按「n~」:完成光标所在位置开始往后的n个字符的大小写切换。

【替换】

1)按「r」:替换光标所在位置的字符。

2)按「R」:替换光标所到位置的字符,直到按下「Esc」键为止。

【更改】

1)按「cw」:将光标所在位置开始到字尾的字符删除,并进入插入模式。

2)按「cnw」:将光标所在位置开始往后的n个字删除,并进入插入模式。

【翻页】

1)按「Ctrl+b」:上翻一页。

2)按「Ctrl+f」:下翻一页。

3)按「Ctrl+u」:上翻半页。

4)按「Ctrl+d」:下翻半页。

vim底行模式各命令汇总

在使用底行模式之前,记住先按「Esc」键确定你已经处于命令模式,再按「:」即可进入底行模式。

【行号设置】

1)「set nu」:显示行号。

2)「set nonu」:取消行号。

【保存退出】

1)「w」:保存文件。

2)「q」:退出vim,如果无法离开vim,可在「q」后面跟一个「!」表示强制退出。

3)「wq」:保存退出。

【分屏指令】

1)「vs 文件名」:实现多文件的编辑。

2)「Ctrl+w+w」:光标在多屏幕下进行切换。

【执行指令】

1)「!+指令」:在不退出vim的情况下,可以在指令前面加上「!」就可以执行Linux的指令,例如查看目录、编译当前代码等。

vim的简单配置

【配置文件的位置】

1)在目录/etc/下面,有个名为vimrc的文件,这是系统中公共的配置文件,对所有用户都有效。

2)在每个用户的主目录/home/xxx下,都可以自己建立私有的配置文件,命名为".vimrc",这是该用户私有的配置文件,仅对该用户有效。

例如,普通用户在自己的主目录下建立了".vimrc"文件后,在文件当中输入set nu指令并保存,下一次打开vim的时候就会自动显示行号。

vim的配置比较复杂,某些vim配置还需要使用插件,建议不要自己一个个去配置。比较简单的方法是直接执行以下指令(想在哪个用户下让vim配置生效,就在哪个用户下执行该指令,不推荐直接在root下执行):

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

大家可以使用这个来在CentOS7下配置Vim, 这个是由Gitee中的用户HGtz2222提供的, 需要是CentOS7环境, Ubuntu上不可以

相关推荐
the sun346 分钟前
从内核数据结构的角度理解socket
linux·运维·服务器
GDAL25 分钟前
Docker pull拉取镜像命令的入门教程
运维·docker·容器
Fanmeang44 分钟前
MP-BGP Hub-Spoken实验案例+通信过程(超详细)
运维·网络·华为·mpls·vpn·mpbgp·hubspoke
羊子雄起2 小时前
GitHub宕机时的协作方案
运维·vscode·github·visual studio
wanhengidc2 小时前
大带宽服务器具体是指什么?
运维·服务器
it_laozhu2 小时前
ESXI 6.7服务器时间错乱问题
运维·服务器
辉视5622 小时前
融合服务器助力下的电视信息发布直播点播系统革新
运维·服务器
阿群今天学习了吗2 小时前
label studio 服务器端打开+xshell端口转发设置
linux·运维·服务器·笔记·python
Aczone282 小时前
Linux Framebuffer(帧缓冲)与基本 UI 绘制技术
linux·运维·ui
华纳云IDC服务商10 小时前
通过限制网络访问来降低服务器被攻击风险的方法
运维·服务器·网络