强大的VIM编辑器-适合小白入门的VIM配置

适合小白入门的VIM配置

  • 前言
    • 安装vim
    • 配置vim
    • Vundle
    • 安装Vundle
    • 使用vundle
    • NERDTree 目录树插件常用配置

前言

实际上Vim是一款非常强大的编辑器,只不过它在常见于终端工具内,所以对于一般的程序员或者入门级别的程序员来说不是特别友好。基于最近在配置服务器上的vim,顺便整理了一下适用于小白的vim配置,现在和大家分享一下~

安装vim

安转部份就不在这里简述了,因为网上有好多可用文档。不管你是MacOS还是CentOS都可以…
但是你要保证你的vim版本在7.0及以上。
你可以输入:vim --version查看你的vim版本,也可以进入到vim界面在命令模式下,输入:version来查看

配置vim

let skip_defaults_vim=1				                  " 设置跳过加载默认vim配置
set modelines=0                                       " CVE-2007-2438
set nocompatible                                      " 去除vi一致性,必须要添加 
filetype off                                          " 必须要添加(引用vundle插件就要关掉检测文件类型 虽然我也不知道为什么)
set rtp+=~/.vim/bundle/Vundle.vim                     " 设置包括vundle和初始化相关的runtime path
call vundle#begin()                                   " vundle加载开始

Plugin 'VundleVim/Vundle.vim'                         " 引入Vundel插件
Plugin 'scrooloose/nerdtree'                          " 引入NERDTree目录树
Plugin 'plasticboy/vim-markdown'                      " 语法高亮插件
Plugin 'yianwillis/vimcdoc'                           " vim中文文档
Plugin 'mhinz/vim-signify'                            " 修改标记
Plugin 'vim-airline/vim-airline-themes'               " 状态栏

call vundle#end()                                     " 必须 你的所有插件需要在这行之前
filetype plugin indent on                             " 必须 加在vim自带和插件相应的语法和文件类型相关脚本

好,先到这里。会发现我引用了一个名叫Vundle的插件。等下会给大家介绍,现在继续我们的vim配置代码~

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 显示相关
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
syntax on                                             " 自动语法高亮
set number                                            " 设置显示行号
set relativenumber                                    " 配合number,更高效的行间跳转
"set cursorline                                       " 突出显示当前行
set ruler                                             " 打开状态栏游尺
set mouse=a                                           " 打开鼠标 (所有模式)
color molokai                                         " 设置背景主题
"autocmd InsertLeave * se cul                         " 用浅色高亮当前行
set showcmd                                           " 在屏幕右下角显示未完成的指令输入 
set showmode                                          " 在左下角显示当前的模式名称
set scrolloff=3                                       " 滚动时屏幕上下至少留3行

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 搜索相关
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set hlsearch                                          " 搜索时高亮显示被找到的文本
set nowrapscan                                        " 禁止在搜索到文件两端时重新搜索
set incsearch                                         " 输入搜索内容时就显示搜索结果
set ignorecase smartcase                              " 搜索时忽略大小写, 但在有一个或以上大写字母时仍保持对大小写敏感

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文本格式
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set tabstop=2                                         " 设定tab长度为2
set shiftwidth=2                                      " 设定 << 和 >> 命令移动时的宽度为2
set softtabstop=2                                     " 也是缩进 
set showmatch                                         " 输入括号时,短暂地跳转到匹配的对应括号
set matchtime=1                                       " 短暂跳转到匹配括号的时间
set smartindent                                       " 开启新行时使用只能自动缩进
set autoindent                                        " 自动缩进 (使用noautoindent取消设置)

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文本折叠
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set foldenable                                        " 开始折叠
set nowrap                                            " 指定不折行
set foldmethod=syntax                                 " 设置语法折叠
set foldcolumn=0                                      " 设置折叠区域的宽度
setlocal foldlevel=1                                  " 设置折叠层数为1
set foldclose=all                                     " 设置为自动关闭折叠

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 实用设置
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set noeb                                              " 去掉输入错误的提示声音
set confirm                                           " 在处理未保存或只读文件的时候,弹出确认
set wildmenu                                          " 在命令模式下使用Tab以菜单形式显示补全命令
set guioptions+=b                                     " 添加水平滚动条
set history=1000                                      " 默认存储1000条历史记录
set nobackup                                          " 禁止生成临时文件
set expandtab                                         " 输入tab时自动将其转为空格

到此为止呢,我已经是把vim所能用到的基础配置 列出来啦 (纯手打整理
接下来介绍上面说过的vundle是个什么玩意

Vundle

可以说它是一个vim的插件管理工具,就像CentOS中的Yum和MacOS中的homebrew一样,支持安装、更新、展示、卸载等操作。 具体操作命令:

:PluginList                                         - 列出所有已配置的插件
:PluginInstall                                      - 安装插件,追加`!`用以更新或使用 :PluginUpdate
:PluginSearch foo                                   - 搜索 foo; 追加`!`清除本地缓存
:PluginClean                                        - 清除未使用插件,需要确认; 追加`!`自动批准移出未使用插件

安装Vundle

一行命令~

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

默认安装在/.vim/bundle/vundle下

使用vundle

  1. 将想要安装的插件,按照地址填写方法,将地址填写在vundle#beginvundle#end之间就可以
  2. 保存之后,有两种方法安装插件。
    a.运行 vim ,再运行:PluginInstall
    b.通过命令行直接安装vim +PluginInstall +qall

再强调一次 需要安装的插件如下:

call vundle#begin()                                   " vundle加载开始

Plugin 'VundleVim/Vundle.vim'                         " 引入Vundel插件
Plugin 'scrooloose/nerdtree'                          " 引入NERDTree目录树
Plugin 'plasticboy/vim-markdown'                      " 语法高亮插件
Plugin 'yianwillis/vimcdoc'                           " vim中文文档
Plugin 'mhinz/vim-signify'                            " 修改标记
Plugin 'vim-airline/vim-airline-themes'               " 状态栏

call vundle#end()                                     " 必须 你的所有插件需要在这行之前

NERDTree 目录树插件常用配置

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" NERDTree Configuration
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
nnoremap  :NERDTree                          " 将F2设置未开关NERDTree的快捷键
nnoremap  :exe 'NERDTreeToggle'
let g:NERDTreeDirArrowExpandable = '+'                " 修改树的显示图标
let g:NERDTreeDirArrowCollapsible = '-'               " 修改树的显示图标
let g:NERDTreeWinPos='left'                           " 窗口位置
let g:NERDTreeSize=20                                 " 窗口尺寸
let g:NERDTreeShowLineNumbers=0                       " 窗口是否显示行号
let g:NERDTreeHidden=0                                " 不显示隐藏文件
autocmd vimenter * if !argc()|NERDTree|endif          " 打开vim时如果没有文件自动打开NERDTree
" 当NERDTree剩下唯一窗口时自动关闭
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
"autocmd vimenter * NERDTree                           " 打开vim时自动打开NERDTree

" 常用命令
" 通过hjkl来移动光标
" o打开关闭文件或目录,如果想打开文件,必须光标移动到文件名
" t在标签页中打开
" s和i可以水平或纵向分割窗口打开文件

你可能感兴趣的:(工作中的手记)