vim 基础配置

进入vim后,输入":version"命令可以查看vim的配置文件路径。如下图:

vim 基础配置_第1张图片

我们看到有一个系统配置文件("/etc/vimrc")和两个用户配置文件("$HOME/.vimrc" 和 "~/.vim/vimrc")。

vim会先读取系统配置文件,然后再读取用户配置文件,如果有冲突,以用户配置文件为准。

如果系统没有找到 "$HOME/.vimrc" 文件,就会接着去查找 "~/.vim/vimrc" 文件;

如果找到了"$HOME/.vimrc" 文件,就会忽略 "~/.vim/vimrc" 文件。

(所有一般把我们常用的配置写在 "$HOME/.vimrc" 是最方便的)

其中 $HOME 变量的路径可以通过终端shell,或者命令行工具cmd查看;

或者Windows用户可以直接去环境变量编辑页面查看。

 

以下是一些基础的vim配置以及解释:

" 以" 开头的行是注释
" set number?	    " 变量后加问号可以查询变量值
" help number 	    " 查看相关变量的帮助文档

set number
"set nonumber	    " 一般bool型变量都可在前面加no取反设置,详情可以查看help
"set relativenumber	" 设置相对行号

set nocompatible	" 不与vi兼容
set showmode		" 底部显示当前模式
set showcmd		    " 底部显示命令
set mouse=a		    " 使能鼠标
"set paste           " 通过鼠标右键粘贴时不发生排版问题,貌似和AntoPairs插件不兼容。

" encoding用于缓存的文本,寄存器,vim脚本文件等;
" termencoding用于指定输出到终端的编码格式
" fileencodings用于写入文件时采用的编码格式
set encoding=utf-8	
set termencoding=utf-8
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936

"set t_co=256		" 启用256色,和solarized配色插件冲突?
set autoindent		" 回车后自动和上一行缩进一致
set tabstop=4		" tab键的宽度设置为4个空格宽度
set shiftwidth=4	" 自动缩进的空白长度。相当于一个制表符\t(和tab键不同)的宽度
					" 符号移动长度制定者:在普通模式下输入:[n](>>|<<|==)(..)
					" 3>>.. 表示从当前行开始的三行都向右进行三次缩进。('.'表示重复上一次命令)
					" << 表示当前行取消一次缩进
					" 3== 表示取消从当前行开始的三行的所有缩进。
set expandtab		" 将tab转为空格		
set softtabstop=4	" 当tabstop和shiftwidth设置不同时,按下tab键实际会变成\t和space的组合。 
set cursorline		" 高亮当前行
set cursorcolumn	" 高亮当前列
set textwidth=150	" 设置每行显示多少个字符
"set wrap			" 当行太长时自动分行显示
set linebreak		" 只在遇到指定符号才发生换行(不会在单词内部换行的情况)
set wrapmargin=2	" 指定换行处距离编辑窗口右边缘的距离
set nowrap			" 不分行显示
set scrolloff=5		" 垂直滚动时,光标距离顶部/底部的距离
set sidescrolloff=15 	" 水平滚动时,光标距离行首/行尾的距离
set laststatus=2	" 显示状态栏。0表示不显示,1表示只在多窗口时显示,2表示显示
set ruler			" 在状态栏显示光标当前位置(哪行哪列)
set showmatch		" 光标遇到(),[],{}时自动高亮另一个对应的括号
set hlsearch		" 高亮搜索匹配结果
set incsearch		" 搜索时,每输入一个字符,就自动跳到第一个匹配的结果处
set ignorecase		" 搜索时忽略大小写
set smartcase		" 如果同时设置了ignorecase,只针对有一个大写字母的搜索词大小写敏感

" set spell spelllang=en_us		" 英语单词拼写检查, 可以通过':set spell' 对当前文件打开检查或':set nospell'关闭检查

set backup			" 创建备份文件。默认会有备份,文件名为原文件名+'~'
set swapfile		" 创建交换文件。用于系统崩溃时恢复文件,文件名为:'.'+原文件名+'.swp'
set undofile		" 保存操作历史。即使文件关闭后也可以使用撤销功能。文件名:'.un~'+原文件名
set history=500		" 设置保存的操作历史长度
" 设置备份文件,交换文件,操作历史的保存位置。//表示文件名带有绝对路径以防重名文件。(绝对路径中的/用%代替)
set backupdir=~/.vim/.backup//
set directory=~/.vim/.swp//
set undodir=~/.vim/.undo//

set autoread		" 打开文件监视,如果当前文件被外部修改,就发出提示。
"set listchars=tab:>-,trail:-   " 把文件中的\t和space可视化
"set list

set wildmenu
set wildmode=longest:list,full 	" 命令模式下,按tab补全命令。

set autochdir		" 当打开一个文件后,bash会自动切换到当前编辑文件的目录下。
set visualbell		" 出错时发出屏闪
set noerrorbells	" 出错时不发出报警声


filetype off        " 为了安装vundle插件管理器,必须关闭
"filetype indent on	" 开启文件类型检查,并载入与该类型文件相应的缩进规则。

syntax on		" 语法高亮打开

" Vundle插件管理器的安装
" :PluginList           " 列出已安装插件
" :PluginInstall        " 安装插件
" :PluginUpdate         " 更新插件。和':PluginInstall!'相同
" :PluginSearch foo     " 搜索foo插件,加!清楚本地缓存
" :PluginClean          " 清除未使用插件,需要确认;追加!强制清除
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" call vundle#begin('~/some/dir')       " 指定插件安装路径
Plugin 'VundleVim/Vundle.vim'           " 管理插件本身
" 添加需要安装的插件路径:
"Plugin 'scrooloose/nerdtree'
Plugin 'https://gitee.com/tay3223/nerdtree.git'
Plugin 'https://gitee.com/ShadowThreeD/matchit.git'
Plugin 'https://gitee.com/dglxlcl/taglist.vim.git'
Plugin 'https://gitee.com/Random_Coder/auto-pairs.git'
Plugin 'https://gitee.com/durianpancake/ack.vim.git'
Plugin 'https://gitee.com/ShadowThreeD/vim-fugitive.git'
Plugin 'https://gitee.com/githubClone/vim-colors-solarized.git'

call vundle#end()                       " 插件管理结束
filetype plugin indent on   " 相当于:文件类型检查,加载相应文件的格式定义插件以及相应文件的缩进定义文件

map  :NERDTreeMirror
map  :NERDTreeToggle
map  :Tlist
set tags=./tags,tags;$HOME
set autochdir               " 首先在当前目录下查找tags,如果没有再到父目录查找

syntax enable
set background=dark
let g:solorized_termcolors=256
colorscheme solarized

 

你可能感兴趣的:(vim)