H_On个人小站

个人站

这都被你发现了【惊
奖励你一朵小红花~


服务器学习历程 Part 3 - 超神的 Vim

Vim 简介

vim 是 linux 系统中最常用的一个文本编辑器,很多人说 vim 是无敌的编译器,话不能说满,但用过的绝对都说好【用过不说好那肯定是没学会的情况下勉强用了一两次

vim 有三种模式

  1. 命令模式
  2. 编辑模式
  3. 可视化模式

常用的就是命令和编辑,这些模式的概念不需要可以的去记,使用的过程中就会看到它的区别了

那么本片实际上并不是介绍 vim 的使用的,而是做一个推荐

  1. 首先基础用法可以去看猹的另一篇文章 vim 基础操作
  2. 本片展示的所有配置文件请参考下面贴出来的大佬的视频 参考视频

我不是大佬,我就简单介绍一下我新学会的并且比较常用的操作

常用命令

1. f 命令

从这一行中,当前位置开始,查找下一个指定字符
例:

f-

跳转到这一行中的下一个 “-“ 的位置

2. 指定范围操作1

一个文本操作命令 + 范围选择命令 可以让你方便的操作一个希望的区间的文本
比如当你的光标放在一个括号中间时,你使用如下命令,可以之间删掉最近的一对括号中的内容并开始插入

ci(

如果你只是想删除(剪切)的话也可以

di(

同样复制操作也可

yi(

区间选择命令也可以

vi(

其他成对符号也可以

ci[
ci{
ci"

之后将不会赘述

大家自己尝试之后就会感受到这个用法的强大,我亲身体验了一小下:

  1. markdown 修改超链接
  2. html 修改标签
  3. c++ 中 for 循环改成 while 循环等情况用起来很爽

下面这个 gif 中的命令:ci<o<Esc>p

  • c - 复制
  • i< - 尖括号中的文字
  • o - 在下面插入一行(自动进入写入模式所以按一下esc)
  • p - 粘贴刚刚复制的文字

chosearea1

3. 指定范围操作2

如果你想从当前位置选中到本行的一个指定的字符,利用 f 命令就可以实现
例子就是从当前位置选择到本行下一个 “-“ 的位置【包括减号本身

vf-

对各种字符操作都可用,例子如下演示:yf;↑p

  • y - 复制
  • f; - 找到下一个分号的位置
  • ↑ - 移动光标到上一行
  • p - 粘贴刚刚复制的文字

chosearea2

4. 运行 bash 命令

r 命令:可以执行系统中的命令
“:r “ 加上一个 “!” 后面加上命令,就会把命令输出的东西直接粘贴到文件里

:r !ls

rshow

5. normal 命令

你可以对每一行都进行相同的操作【插入文字

  1. V 选中行,上下箭头选中多行
  2. : 进入输入命令的模式
  3. normal 命令之后写自己的操作
:'<,'>normal Imy_file_

注意 normal 后面才是命令的部分:第一个字母 I 在最前面插入一个字符串,后面是个字符串

normal

6. 宏命令

你可以录制一个自定义的操作,然后就可以重复运行了,操作如下:

  1. q 来进入录制命令
  2. 按一个字母作为储存容器【例如 z
  3. 进行一系列操作
    1. A 行末插入
    2. esc 退回到命令模式
    3. vF_ 向前找到第一个下划线的位置
    4. 向右移动一格
    5. y 复制
    6. I 行首插入一些字符,esc 退回到命令模式
    7. p 在双引号中间粘进去文件名
    8. A 行末插入一些字符,esc 退回到命令模式
    9. 光标移动到下一行
  4. q 结束录制
  5. 之后输入 @z 即可运行之前自定义的键盘操作,4@z 重复运行 4 次

macro

这一部分实际上是对没必要修改的命令进行的介绍,接下来这一块我们来看一下自定义的 vim 命令吧

修改 vimrc 文件 - 强大的自定义命令!

我们要修改的就是 ~/.vim/vimrc 这个文件,没有的话新建一个就可以了

set vim 设置

顾名思义这个关键字是让我们在加载 vim 的时候使用一些自带的设置,例如:

  1. 设置缩进数量
     set tabstop=8
    
  2. 显示行号
     set number
    
  3. 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