Vim 安装插件管理器 vim-plugin

插件安装

Vim 本身也有很多插件,而插件管理器有很多,比较火的这个 vim-plugin 是一个异步更新的管理器。

首先去vim-plugin

  1. 执行对应版本的命令,例如 mac(unix)

    1
    2
    curl -fLo ~/.vim/autoload/plug.vim --create-dirs \\
    <https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim>
    1

  2. 编辑~/.vimrc

    1
    2
    3
    4
    5
    6
    " Specify a directory for plugins
    " - For Neovim: stdpath('data') . '/plugged'
    " - Avoid using standard Vim directory names like 'plugin'
    call plug#begin('~/.vim/plugged')
    " Initialize plugin system
    call plug#end()

    编辑完之后在 vim 中执行:source ~/.vimrc重新加载一下文件

    之后就可以发现Plug相关的命令

    贴上我的.vimrc的配置文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    set nocompatible
    " Specify a directory for plugins
    " - For Neovim: stdpath('data') . '/plugged'
    " - Avoid using standard Vim directory names like 'plugin'
    call plug#begin()
    Plug 'mhinz/vim-startify'
    Plug 'vim-airline/vim-airline' " 主题代码高亮
    Plug 'vim-airline/vim-airline-themes'
    Plug 'skywind3000/vim-auto-popmenu' " 自动展示的提示框
    Plug 'skywind3000/vim-dict'
    Plug 'neoclide/coc.nvim', {'branch': 'release'} " 自动代码补全
    Plug 'mhinz/vim-startify'
    Plug 'preservim/nerdtree', { 'on': 'NERDTreeToggle' } " 切换文件或目录插件
    Plug 'tpope/vim-fireplace', { 'for': 'clojure' }
    " Initialize plugin system
    call plug#end()
    syntax on " 自动语法高亮
    set number " 显示行号
    set cindent
    set smartindent " 开启新行时使用智能自动缩进
    set showmatch " 插入括号时,短暂地跳转到匹配的对应括号
    set ruler " 打开状态栏标尺
    :set mouse=a "在vim所有模式下开鼠标,复制文档就可以不包含行号了

卸载插件

卸载插件很简单

  1. 只要删除对应.vimrc文件中的插件Plug .....那一行就行。
  2. 在终端 Normal 模式下输入:w保存,再输入:source ~/.vimrc加载一下文件。
  3. 最后在终端输入 vim 启动,在 normal 模式下输入:PlugClean。就会删除你所安装的插件。

NERDTree 插件简单使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
:NERDTree  # 打开文件树,不写地址默认当前文件所在目录为根目录

ctr+w+h # 光标focus左侧树形目录,ctrl+w+l 光标focus右侧文件显示窗口。

ctrl+w+w # 光标自动在左右侧窗口切换

o # 在已有窗口中打开文件、目录或书签,并跳到该窗口

O # 递归打开选中 结点下的所有目录

C # 将选中目录或选中文件的父目录设为根结点

q # 在文件树窗口按次键 退出

t # 在新Tab中打开选中文件/书签,并跳到新Tab

i # split 一个新窗口打开选中文件,并跳到该窗口

p # 跳到父结点

r # 递归刷新选中目录

vim 复制到剪贴板

开始前需要先查看 vim 是否已经支持 clipboard 功能,使用 vim –version | grep clipboard 命令查看,已经支持时其前有+号。如果其前为-号,执行 sudo apt install vim-gtk 安装 vim-gtk 即可。

只需在 normal 模式下(如果不知道当前在哪个模式就先按一次 ESC 键)执行"*p

vim 中的数据复制到 vim 外,需要回到normal模式先按v进入visual模式,移动光标选中目标文本后,在visua模式下执行"+y即可将 vim 数据复制到系统剪贴板,在 vim 外执行Ctrl V即可完成数据粘贴。

常见问题

  1. 在 bash 下执行**source ~/.vimrc**会报错因为 vimrc 是 vim 自己的脚本语言,bash 无法理解,所以 bash 就会报语法错误
  2. coc 补全插件无法用**tab**补齐,在**.vimrc**下写入coc 按键映射