Vim 简介
vim 是 linux 系统中最常用的一个文本编辑器,很多人说 vim 是无敌的编译器,话不能说满,但用过的绝对都说好【用过不说好那肯定是没学会的情况下勉强用了一两次
vim 有三种模式
- 命令模式
- 编辑模式
- 可视化模式
常用的就是命令和编辑,这些模式的概念不需要可以的去记,使用的过程中就会看到它的区别了
那么本片实际上并不是介绍 vim 的使用的,而是做一个推荐
我不是大佬,我就简单介绍一下我新学会的并且比较常用的操作
常用命令
1. f 命令
从这一行中,当前位置开始,查找下一个指定字符
例:
f-
跳转到这一行中的下一个 “-“ 的位置
2. 指定范围操作1
一个文本操作命令 + 范围选择命令
可以让你方便的操作一个希望的区间的文本
比如当你的光标放在一个括号中间时,你使用如下命令,可以之间删掉最近的一对括号中的内容并开始插入
ci(
如果你只是想删除(剪切)的话也可以
di(
同样复制操作也可
yi(
区间选择命令也可以
vi(
其他成对符号也可以
ci[
ci{
ci"
之后将不会赘述
大家自己尝试之后就会感受到这个用法的强大,我亲身体验了一小下:
- markdown 修改超链接
- html 修改标签
- c++ 中 for 循环改成 while 循环等情况用起来很爽
下面这个 gif 中的命令:ci<o<Esc>p
- c - 复制
- i< - 尖括号中的文字
- o - 在下面插入一行(自动进入写入模式所以按一下esc)
- p - 粘贴刚刚复制的文字
3. 指定范围操作2
如果你想从当前位置选中到本行的一个指定的字符,利用 f 命令就可以实现
例子就是从当前位置选择到本行下一个 “-“ 的位置【包括减号本身
vf-
对各种字符操作都可用,例子如下演示:yf;↑p
- y - 复制
- f; - 找到下一个分号的位置
- ↑ - 移动光标到上一行
- p - 粘贴刚刚复制的文字
4. 运行 bash 命令
r 命令:可以执行系统中的命令
“:r “ 加上一个 “!” 后面加上命令,就会把命令输出的东西直接粘贴到文件里
:r !ls
5. normal 命令
你可以对每一行都进行相同的操作【插入文字
V
选中行,上下箭头选中多行:
进入输入命令的模式- 在
normal
命令之后写自己的操作
:'<,'>normal Imy_file_
注意 normal
后面才是命令的部分:第一个字母 I
在最前面插入一个字符串,后面是个字符串
6. 宏命令
你可以录制一个自定义的操作,然后就可以重复运行了,操作如下:
- 按
q
来进入录制命令 - 按一个字母作为储存容器【例如
z
- 进行一系列操作
A
行末插入esc
退回到命令模式vF_
向前找到第一个下划线的位置→
向右移动一格y
复制I
行首插入一些字符,esc
退回到命令模式p
在双引号中间粘进去文件名A
行末插入一些字符,esc
退回到命令模式↓
光标移动到下一行
- 按
q
结束录制 - 之后输入
@z
即可运行之前自定义的键盘操作,4@z
重复运行 4 次
这一部分实际上是对没必要修改的命令进行的介绍,接下来这一块我们来看一下自定义的 vim 命令吧
修改 vimrc 文件 - 强大的自定义命令!
我们要修改的就是 ~/.vim/vimrc
这个文件,没有的话新建一个就可以了
set vim 设置
顾名思义这个关键字是让我们在加载 vim 的时候使用一些自带的设置,例如:
- 设置缩进数量
set tabstop=8
- 显示行号
set number
- vim 命令自动补全
set wildmenu
等功能
map 自定义映射关系
这个关键字可以让我们自定义一些按键功能 例如下面这个,可以将大写字母 Q (即 shift + q)直接等于运行了 q (退出)命令并回车
map Q :q<CR>
tips:
<CR>
回车键
<Esc>
esc 键
<C-key>
ctrl + 某个键 如<C-x>
就是ctrl + x
这个组合按键
<up>
方向键的上箭头
<down>
方向键的下箭头
<left>
方向键的左箭头
<right>
方向键的右箭头
其他的就不是很常用我也不是很会,如果有常用的操作我会继续更新
强大的命令宏
这个东西我要单独拿出来介绍是因为它太帅了
- 你可以自己录制一个操作,然后直接重复执行
重要事项
这里给大家贴出来一个猹的 vimrc 配置文件,里面还有关于各种设置和 vim 好用的功能的自定义
并不一定是所有人都常用,然后为什么我不做介绍了呢
- 一是因为我的配置文件中注释的很详细
- 另一个是因为分屏,新建文件这些操作,枯燥的用文字不方便展示,还是视频更直观更享受
有兴趣做一个强大的,基于 vim 的 IDE 请一定要看看大佬的视频,将来猹搞熟练了或许也会出视频哟~
后话
看了大佬的视频感觉我选择 vim 真是太好了,配合上各种插件也完全可以做到”分屏“,”多文件浏览“,”树状文件浏览“,”代码自动补全“等丰富多彩的功能
但是选择哪一款编辑器还是看你自己的需求,如果你非常熟练一个编辑器,并不想画很多时间去琢磨配置一个新的,那也完全可以理解,如果你觉得 vim 并不能给你带来最高效的工作效率,那也完全可以理解,人各有志不可强求,只希望不喜勿喷。
参考视频
上古神器Vim:从恶言相向到爱不释手 - 终极Vim教程01 - 带你配置属于你自己的最强IDE
上古神器Vim:进阶使用/配置、必备插件介绍 - 终极Vim教程02 - 带你配置属于你自己的最强IDE
「妈妈不会告诉你的Vim技巧」 -Vim终极教程03 - 带你配置属于你自己的最强IDE