三十分钟配置一个顺滑如飞的 Vim

Vim setup

先上疗效,给你们看效果:python

安装 Vim

首先说明,vi 和 vim 是两个不一样的版本,vi 是 vim 的精简版本,功能要弱不少,因此若是你的系统里面只有 vi,请执行 apt install vim 命令更新到 vim,并且最好更新到 8.0 版本。linux

若是你系统里面没有安装 vim,你打开 vi,看到的应该是下面这样的。git

安装 vim 后,你打开 vim,看到的界面是这样的。github

注意区分。算法

安装 Universal-ctags

ctags 的做用是扫描工程中的代码,为代码中定义的函数、变量生成一份 tags 数据库文件,而后咱们用 vim 浏览代码的的时候,当光标移动到某个函数或者变量上,只要按下 Ctrl +  ]  组合按键,就会自动跳转到这个函数或者变量定义地方。数据库

ctag 目前有两个版本: Exuberant-ctags 和 Universal-ctags,Exuberant-ctags 比较老,目前已经中止维护, Universal-ctags 则是新版本,一直在更新,功能更强大,支持的语言也更多,因此这里安装新版本。vim

git clone https://github.com/universal-ctags/ctags.git
cd ctags
git checkout 61cc66cf
sudo apt install gcc make pkg-config autoconf automake python3-docutils \
   libseccomp-dev libjansson-dev libyaml-dev libxml2-dev
./autogen.sh
./configure 
make
sudo make install

目前只能经过编译源码的方式安装,并且我发现最新的代码有问题,因此回退到了一个可用的版本。curl

安装 ripgrep

ripgrep 是一个超级强大的命令行搜索工具,看名字就知道,它是来挑战 grep 的,它确实比 grep 好用,强大、简单,目前在 github 上超过了一万六千个 star,可见其受欢迎程度。我如今基本用它来代替了 grep 命令。vim 里面也能够用它来结合 LeaderF 插键搜索函数和变量。函数

这个软件目前只能经过下载软件包安装,若是你的系统版本比较新,好比 Ubuntu 18.10 或者 Debian 10,却是能够直接经过 apt install 命令安装。工具

curl -LO https://github.com/BurntSushi/ripgrep/releases/download/11.0.2/ripgrep_11.0.2_amd64.deb
sudo dpkg -i ripgrep_11.0.2_amd64.deb

第一条命令是下载 ripgrep_11.0.2_amd64.deb 这个安装包,第二条命令是安装。

安装 vim-pulg

vim-pulg 是一个韩国人写的 vim 插件管理器,目前在 github 上也超过了一万六千个 star,下载安装命令以下:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

安装 vimrc

vimrc 是 vim 配置文件,经过它能够定制各类 vim 特性。

这里提供了一个最简配置的的 vimrc 在 github 上: https://github.com/andyshrk/d... ,下载下来放到 ~/.vim/ 目录下。

curl -fLo ~/.vim/vimrc https://raw.githubusercontent.com/andyshrk/dotvim/master/vimrc

vimrc

配置比较精简, 之简单解释两个地方:

第一部分:安装了四个插件,这四个插件都是 github star 量很是高的开源项目。

第二部分: 设置只有在工程项目的根目录下包含 .root 目录才会自动身材 ctags 数据库,由于若是你有一堆的大工程,都要生成数据库的话,仍是蛮大。在你想深度分析的工程根目录下创建一个 .root 目录,这样有利于节省空间。

安装插键

PlugInstall

  1. 在命令行输入 vim 而后回车。
  2. 在 vim 界面输入 : PlugStatus,回车,能够看到全部的插件都处于未安装状态
  3. 在 vim 界面输入 :PlugInstall , 回车,开始安装插键。
  4. 安装完成后在 vim 界面再输入 : PlugStatus ,回车,能够看到全部固件已经处于 OK 状态。

简单使用

以阅读 Linux 内核代码为例:

在 Linux kernel 的根目录下创建一个 .root 文件夹:

cd linux-imx
mkidr .root
vim
  • 查找文件: + F 组合键,而后在输入文件名关键字,按 Enter 选中文件。

<>

能够看到,这里面不用输入准确的文件名字,只须要部分关键字,匹配度最高的文件出如今最上面,还能够经过 Ctrl + J 或者 K 上下移动光标, 来选择文件,很高效吧,这是经过 Leaderf 的模糊匹配算法实现的。

  • 跳转到函数定义处: Ctrl + ] 组合键。

光标移动到函数 syscon_regmap_lookup_by_phandle,按 Ctrl + ] 组合键,就跳到这个函数原型处,按 Ctrl + o 组合键返回。

vim 经过 J K 两个键上下移动光标。

  • 查找那些地方有调用这个函数: Ctrl + F 组合键

Ctrl + J 或者 K 上下移动光标, 来选择文件,这里选了atmel-ebi.c 这个文件,而后敲 Enter

键跳过去。

  • 查找当前打开文件的函数列表。

这里直接用了 LeaderfFunction 这个命令,也能够定义成快捷键。

更多的使用技巧能够经过 Leaderf 的 github 查找,或者直接百度也能查到不少用例。

更多原创文章请扫码关注公众号:HackforFun
qrcode_for_gh_c8e36f389b90_258.jpg

相关文章
相关标签/搜索