OS11.【Linux】vim文本编辑器
目录
1.四种模式
命令模式
几个命令
插入模式
底行模式
一图展示三种模式之间的关系
2.分屏(多文件操作)
3.配置vim的原理
4.脚本一键配置vim
CentOS 7 x86_64
其他发行版
5.NeoVim(推荐)
vim文本编辑器是一个多模式的编辑器,因此先介绍它的四种模式
附vim的官网:https://www.vim.org
1.四种模式
其实vim有12种模式,这里只介绍常用的四种,注:替换模式在命令模式的第18个命令中
命令模式
未配置vim的情况下,对文件使用vim编辑,默认处在命令模式下
命令模式:用户的所有输入都会被当做命令,一般不会作为文本输入
例如新建一个test.txt文件,之后使用vim编辑:
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使用!执行外部命令
感叹号开头,空一格,输入命令
:! 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写入以下内容
set nu
i
这样一打开vim就进入插入模式而且设置了行号
4.脚本一键配置vim
CentOS 7 x86_64
进入以下网站:https://gitee.com/HGtz2222/VimForCpp
README文件中提到了安装方法,按步骤操作即可,注意不要在root身份下执行安装
配置后的效果展示:
如果想改默认的缩进,看这里:
家目录下执行:
vim .vimrc
修改第50~第52行
改了之后要使配置文件生效,使用以下命令:
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,里面有详细的配置方法