OS11.【Linux】vim文本编辑器

目录

1.四种模式

命令模式

几个命令

插入模式

底行模式

一图展示三种模式之间的关系

2.分屏(多文件操作)

3.配置vim的原理

4.脚本一键配置vim

[CentOS 7 x86_64](#CentOS 7 x86_64)

其他发行版

5.NeoVim(推荐)


vim文本编辑器是一个多模式的编辑器,因此先介绍它的四种模式

附vim的官网:https://www.vim.org

1.四种模式

其实vim有12种模式,这里只介绍常用的四种,注:替换模式在命令模式的第18个命令中

命令模式

未配置vim的情况下,对文件使用vim编辑,默认处在命令模式下

命令模式:用户的所有输入都会被当做命令,一般不会作为文本输入

例如新建一个test.txt文件,之后使用vim编辑:

cpp 复制代码
touch test.txt
[root@zhangcoder guest]# vim test.txt

几个命令

1.gg(全称)

定位光标到最开始行

2.G

定位光标到结尾行

3.nG(n代表数字)

定位光标到第n行

4.yy

复制光标所在行

5.nyy(n代表数字)

从光标所在行开始,复制n行(包含光标所在行)

6.p

粘贴到光标所在行

7.np(n代表数字)

重复粘贴n次

8.u

撤销

9.dd

删除(或剪切)光标所在行

10.ndd(n代表数字)

从光标所在行开始,删除(或剪切)n行(包含光标所在行)

11.$(即shift+4)

$称为锚点,定位光标到当前行的结尾

12.^(即shift+6)

^称为锚点,定位光标到当前行的开始

13.w

光标按照单词进行内跨行向前移动

14.b

光标按照单词进行内跨行向后移动

15.h j k l

用于上下左右移动

16.~(即shift+`)

对光标处的字母大小写转换

17.nr字符(n代表数字)

从光标所在的位置开始,批量替换n个字符为你想要的字符

18.R

进入替换模式, 对内容进行整体替换,底下会显示,按esc退出替换模式

19.nx(n代表数字)

从光标所在的位置开始,批量删除n个字符

20.ctrl+r 反向撤销(撤销之前的撤销操作)

插入模式

若要输入文本,需要切换到插入模式,命令模式下按i即可,i为insert的首字母,最底下也会显示"-- INSERT--"

这样就可以写字符串了

底行模式

退出vim必须进入底行模式

方法:按esc 从插入模式退回命令模式,再输入**:**进入底行模式

输入w 只保存不退出

输入q 只退出不保存

输入wq 保存并退出(反过来输qw不行,)

输入w! 强制保存

输入q! 强制退出

输入wq! 强制保存并退出

输入set nu 调出行号

输入set nonu 去除行号

底行模式退回命令模式按esc

底行模式也可以执行命令

例如使用vim向1.c写入了以下代码

不退出vim使用!执行外部命令

感叹号开头,空一格,输入命令

cpp 复制代码
:! gcc 1.c
:! ./a.out

运行结果: 可以键入ENTER返回vim

一图展示三种模式之间的关系

注:插入模式与底行模式之间的切换不考虑

2.分屏(多文件操作)

先进入底行模式,输入vs 文件名

例如有两个c文件1.c和2.c,对1.c使用vim编辑,之后在底行模式输入vs 2.c

光标处在哪个文件,输入的命令就作用于哪个文件

使用ctrl+ww可以切换光标所处的文件

3.配置vim的原理

原理:修改vimd配置文件

注意:配置某个用户 的vim,需要在其家目录下添加配置文件

(注:不建议给root配置,用普通用户即可)

(默认情况,家目录没有vim配置文件)

添加配置文件 .vimrc (需要有root权限,而且以.开头说明是隐藏文件,需要ls -al命令才能在目录中看到),例如向.vimrc写入以下内容

bash 复制代码
set nu
i

这样一打开vim就进入插入模式而且设置了行号

4.脚本一键配置vim

CentOS 7 x86_64

进入以下网站:https://gitee.com/HGtz2222/VimForCpp

README文件中提到了安装方法,按步骤操作即可,注意不要在root身份下执行安装

配置后的效果展示:

如果想改默认的缩进,看这里:

家目录下执行:

bash 复制代码
vim .vimrc

修改第50~第52行

改了之后要使配置文件生效,使用以下命令:

bash 复制代码
source .bashrc

其他发行版

TheVimIDE 项目:https://github.com/Shadowsith/TheVimIDE

lunarvim 项目:https://www.lunarvim.org/docs/installation

5.NeoVim(推荐)

NeoVim是Vim的一个分支项目,改进和扩展 Vim 的功能,而且兼容Vim

Github链接:https://github.com/neovim/neovim,里面有详细的配置方法

相关推荐
A小辣椒14 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒18 小时前
TShark:基础知识
linux
AlfredZhao20 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式