“编辑器之神”vim的以前的配置很繁琐,要打造成一个很好用的IDE并不容易,网上的教程也很多,但是真正适合自己的并不好找。
首先推荐一片网上的一片关于vim详细配置的博文,https://www.xncoding.com/2016/06/02/linux/vim.html,当然不知道是不是这哥们用了很长时间写的,不过写的真的很详细。
首先说一个问题,网上的很多教程都有Vundle,估计很多人都很MB,出现了两个网址,https://github.com/gmarik/vundle.git和https://github.com/VundleVim/Vundle.git,然而当你点开这两个链接的时候,心中是不是一万个那啥在奔跑,因为这两个是一个链接。说得也是一个东西!
我的原则就是,能简化尽量先简化,不要那么繁琐。本来很简单的事非得搞得很复杂。
上面推荐的那篇blog不错。有兴趣的道友(PS:本人看霹雳)可以去试一下,唯一可能遇到的问题可能就是关于python2的支持和YouCompleteMe编译的问题,百度一下都能解决。
这里介绍一个简单的方法。
一、准备工作
首先了解一下自己的系统安装vim后是不是7.4及以上的版本。如果是7.4以下的版本(ubuntu12.04安装的就是7.3),那就恭喜了,有些插件你是装不了的,尤其是YouCompleteMe插件。不过网上有教程试试添加一下仓库是可以办到的。使用以下命令安装:
sudo apt-get install vim
二、配置vim
在用户目录下新建一个.vim文件夹和一个.vimrc文件,这是用来管理vim的。
为了不让 .vimrc 看起来太臃肿,新建了一个 ~/.vimrc.vundles 文件来保存所有插件的配置。先在 ~/.vimrc.vundles 文件中包含如下内容:
filetype on
filetype plugin on
filetype indent on
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
call vundle#end()
然后在 ~/.vimrc 文件中加入内容:
if filereadable(expand("~/.vimrc.vundles"))
source ~/.vimrc.vundles
endif
这样 vundle 就准备就绪了。
三、安装Vundle
在.vim文件夹下新建一个bundle的文件夹,然后使用以下命令下载Vundle:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
下载完成后,打开~/.vimrc.vundles文件添加配置文件,在call vundle#begin()和call vundle#end()之间添加一下内容:
" Define bundles via Github repos "
Plugin 'christoomey/vim-run-interactive'
Plugin 'Valloric/YouCompleteMe'
Plugin 'croaky/vim-colors-github'
Plugin 'danro/rename.vim'
Plugin 'majutsushi/tagbar'
Plugin 'kchmck/vim-coffee-script'
Plugin 'kien/ctrlp.vim'
Plugin 'pbrisbin/vim-mkdir'
Plugin 'scrooloose/syntastic'
Plugin 'slim-template/vim-slim'
Plugin 'thoughtbot/vim-rspec'
Plugin 'tpope/vim-bundler'
Plugin 'tpope/vim-endwise'
Plugin 'tpope/vim-fugitive'
Plugin 'tpope/vim-rails'
Plugin 'tpope/vim-surround'
Plugin 'vim-ruby/vim-ruby'
Plugin 'vim-scripts/ctags.vim'
Plugin 'vim-scripts/matchit.zip'
Plugin 'vim-scripts/tComment'
Plugin 'mattn/emmet-vim'
Plugin 'scrooloose/nerdtree'
Plugin 'Lokaltog/vim-powerline'
Plugin 'godlygeek/tabular'
Plugin 'msanders/snipmate.vim'
Plugin 'jelera/vim-javascript-syntax'
Plugin 'altercation/vim-colors-solarized'
Plugin 'othree/html5.vim'
Plugin 'xsbeats/vim-blade'
Plugin 'Raimondi/delimitMate'
Plugin 'groenewege/vim-less'
Plugin 'chr4/nginx.vim'
Plugin 'Lokaltog/vim-easymotion'
Plugin 'tomasr/molokai'
Plugin 'klen/python-mode'
*不是所有插件都要安装,至于每个插件什么用途网上都可以搜索到,可以根据自己喜欢的安装,
四、安装插件
打开vim,进入命令行模式,输入:PluginInstall,开始安装插件。直到出现Done!表示安装完成。
*五、卸载vim
如何彻底的卸载vim,网上的各种卸载方式都不能策底卸载,老版本的vim,不是一条apt-get remove vim 就能解决的,最好最后也删除配置文件。
sudo apt-get remove vim
sudo apt-get remove vim-runtime
sudo apt-get remove vim -tiny
sudo apt-get remove vim-common
sudo apt-get remove vim-doc
sudo apt-get remove vim-scripts
-------------------------------------------------------------------------------------------------------------
以上基本上就简单实现了vim的一些自动补全等命令。
-------------------------------------------------------------------------------------------------------------
接下来的配置文件就有些复杂了,因为是个人每人的意见都不一样,可以根据自己的需要修改配置文件,同样可以是加在.vimrc.vundles文件中,但是不要写在call vundle#begin()和call vundle#end()之间。也可以加在.vimrc文件中。
全局:
" ***************** 全局设置 ************** "
syntax enable "开启语法高亮功能
syntax on "允许用指定语法高亮配色方案替换默认方案
set nocompatible "关闭兼容模式
set incsearch "开启实时搜索功能
set ignorecase "搜索忽略大小写
set wildmenu "vim命令自动补全
set autoread "文件自动更新
set gcr=a:block-blinkon0 "禁止关闭闪烁
set laststatus=2 "总是显示状态栏
set ruler "显示光标位置
set number "显示行号
set cursorline "高亮显示当前行
set cursorcolumn "高亮显示当前列
set hlsearch "高亮显示搜索结果
"set nowrap "禁止折行
set backspace=2 "回退键生效
"set backspace=indent,eol,start
set novisualbell
" 禁止显示滚动条
set guioptions-=l
set guioptions-=L
set guioptions-=r
set guioptions-=R
" 禁止显示菜单和工具条
set guioptions-=m
set guioptions-=T
" 将制表符扩展为空格
set expandtab
" 设置编辑时制表符占用空格数
set tabstop=4
" 设置格式化时制表符占用空格数
set shiftwidth=4
" 让 vim 把连续数量的空格视为一个制表符
set softtabstop=4
" 基于缩进或语法进行代码折叠
set foldmethod=syntax
" 启动 vim 时关闭折叠代码
set nofoldenable
" 交互式打开shell
set shell=bash\ -i
set encoding=utf-8 "使用国际通用编码
set hlsearch "高亮度反白
set backspace=2 "可以用Backspace键删除
set ts=4 "tab键等于4个空格
set expandtab "tab键自动变空格
set tabstop=4
set softtabstop=4
set autoindent "自动缩进
set pastetoggle=<F9> "插入模式粘贴按F9取消自动缩进
set ruler "可显示最后一行的状态
set showmode "左下角那一行的状态
set nu "可以在每一行的最前面显示行号啦!
set bg=dark "显示不同的底色色调
"set cursorline "光标所在行一横线
set laststatus=2 "显示当前编辑文件名
快捷键:
" *************** 设置全局快捷键 *****************
" 定义快捷键的前缀,即<Leader>
"let mapleader="\<space>"
let mapleader="'"
" 设置快捷键将选中文本块复制至系统剪贴板
vnoremap <Leader>y "+y
" 设置快捷键将系统剪贴板内容粘贴至 vim
nmap <Leader>p "+p
" 定义快捷键关闭当前分割窗口
nmap <Leader>q :q<CR>
" 定义快捷键保存当前窗口内容
nmap <Leader>w :w<CR>
" 定义快捷键保存所有窗口内容并退出 vim
"nmap <Leader>WQ :wa<CR>:q<CR>
" 不做任何保存,直接退出 vim
"nmap <Leader>Q :qa!<CR>
" 依次遍历子窗口
nnoremap nw <C-W><C-W>
" 跳转至右方的窗口
nnoremap <Leader>l <C-W>l
" 跳转至左方的窗口
nnoremap <Leader>h <C-W>h
" 跳转至上方的子窗口
nnoremap <Leader>k <C-W>k
" 跳转至下方的子窗口
nnoremap <Leader>j <C-W>j
" 定义快捷键在结对符之间跳转
nmap <Leader>M %
nnoremap <Leader>g <C-]>
nnoremap <Leader>b <C-t>
配色:
进入vim,输入":colorscheme"即可查看当前的配色方案,默认是default,系统的配色方案放在/usr/share/vim/vim74/colors/里
。在vim命令行模式下输入":colorscheme 方案名",例如":colorscheme desert"即可更改配色方案。
这里再推荐一篇blog:https://www.cnblogs.com/jhssd/p/6803689.html,有配色的全部效果,不过最好自己试一试。
树形结构:
用到的是上面安装好的插件,NERDTree插件
" NERDTree config
map <F2> :NERDTreeToggle<CR>"使用F2快速隐藏和显示目录栏
autocmd vimenter * NERDTree"打开vim自动显示
分割布局:
使用sv <filename>
命令打开一个文件,你可以纵向分割布局(新文件会在当前文件下方界面打开), 使用相反的命令vs <filename>`
你可以得到横向分割布局(新文件会在当前文件右侧界面打开)。
-
ctrl + w + h 光标 focus 左侧树形目录
-
ctrl + w + l 光标 focus 右侧文件显示窗口
-
ctrl + w + w 光标自动在左右侧窗口切换 #!!!
-
ctrl + w + r 移动当前窗口的布局位置
命令太多就会变得复杂,现在的基本就可以算是入门级别的vim了,用个一年半载足够了。