1. vim基本设置
所需依赖:
vim配置:
"-----------------vim基本设置--------------------------"
"关闭vi的一致性模式 避免以前版本的一些Bug和局限
set nocompatible
"配置backspace键工作方式
set backspace=indent,eol,start
"显示行号
set number
"设置在编辑过程中右下角显示光标的行列信息
set ruler
"当一行文字很长时取消换行
"set nowrap
"在状态栏显示正在输入的命令
set showcmd
"设置历史记录条数
set history=1000
"设置取消备份 禁止临时文件生成
set nobackup
set noswapfile
"突出现实当前行列
"set cursorline
"set cursorcolumn
"设置匹配模式 类似当输入一个左括号时会匹配相应的那个右括号
set showmatch
"设置C/C++方式自动对齐
set autoindent
set cindent
"开启语法高亮功能
syntax enable
syntax on
"指定配色方案为256色
set t_Co=256
"设置搜索时忽略大小写
set ignorecase
"设置在Vim中可以使用鼠标 防止在Linux终端下无法拷贝
set mouse=a
"设置Tab宽度
set tabstop=4
"设置自动对齐空格数
set shiftwidth=4
"设置按退格键时可以一次删除4个空格
set softtabstop=4
"设置按退格键时可以一次删除4个空格
set smarttab
"将Tab键自动转换成空格 真正需要Tab键时使用[Ctrl + V + Tab]
set expandtab
"设置编码方式
set encoding=utf-8
"自动判断编码时 依次尝试一下编码
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
"设置换行符为unix
set ff=unix
"检测文件类型
filetype on
"针对不同的文件采用不同的缩进方式
filetype indent on
"允许插件
filetype plugin on
"启动智能补全
filetype plugin indent on
"Vundle 配置
filetype off
"set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'tomasr/molokai'
Plugin 'scrooloose/nerdtree'
Plugin 'Xuyuanp/nerdtree-git-plugin'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'mattn/emmet-vim'
Plugin 'jelera/vim-javascript-syntax'
Plugin 'trusktr/seti.vim'
Plugin 'terryma/vim-multiple-cursors'
call vundle#end()
filetype plugin indent on
:map <C-b> :NERDTree<CR>
let g:airline_powerline_fonts = 1
if !exists('g:airline_symbols')
let g:airline_symbols={}
endif
let g:NERDTreeDirArrowExpandable = '>'
let g:NERDTreeDirArrowCollapsible = 'v'
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#buffer_nr_show = 1
let g:airline_theme='luna'
set background=light
colorscheme molokai
最终效果
Tips1: 解决windows gvim中backspace键不能往左删除
这个是因为在windows下的gvim是默认启用了vi兼容模式的,这种模式下backspace配置是空的,所以我们需要禁用vi兼容模式:
set nocp
backspace键的默认模式有三种:
0 same as “:set backspace=” (Vi compatible)
1 same as “:set backspace=indent,eol”
2 same as “:set backspace=indent,eol,start”
indent,eol,start解释如下:
indent: 如果用了:set indent,:set ai 等自动缩进,想用退格键将字段缩进的删掉,必须设置这个选项。否则不响应。
eol:如果插入模式下在行开头,想通过退格键合并两行,需要设置eol。
start:要想删除此次插入前的输入,需设置这个
所以禁用vi兼容模式之后,我们可以设置backspace键为set backspace=2
,然后不能使用backspace往左删除的问题消失。
参考链接
- 简书 Jetsly