2. VIM 系列 - 初探vim配置文件
配置文件
刚安装vim默认配置,功能是很简单的,vim的功能很多是需要配置开启的。
.vimrc
使用vim打开配置文件~/.vimrc
, 即可配置vim。
基本配置
" 设置当文件被改动时自动载入
set autoread
set autowrite
" 在处理未保存或只读文件的时候,弹出确认
set confirm
" 自动缩进
set autoindent
set cindent
" 解决backspace 无效
set backspace=indent,eol,start
" 其中 tabstop 表示一个 tab 显示出来是多少个空格的长度,默认8
" softtabstop 表示在编辑模式的时候按退格键的时候退回缩进的长度
" shiftwidth 表示每一级缩进的长度,一般设置成跟 softtabstop 一样。
" 当设置成 expandtab 时,缩进用空格来表示,noexpandtab则是用制表符表示一个缩进。
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
" 显示行号
set number
" 历史记录数
set history=1000
"搜索忽略大小写
set ignorecase
"搜索逐字符高亮
set hlsearch
set incsearch
"语言设置
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
" 总是显示状态行
set laststatus=2
" 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=2
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key
" 高亮显示匹配的括号
set showmatch
" 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=2
" 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3
tab 键设置
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
说明:
tabstop: 表示一个 tab 显示出来是多少个空格的长度,默认8。
softtabstop: 表示在编辑模式的时候按退格键的时候退回缩进的长度。
shiftwidth: 表示每一级缩进的长度,一般设置成跟 softtabstop 一样。
expandtab: 表示缩进用空格来表示。
noexpandtab :则是用制表符表示一个缩进。
热键配置
" 括号自动补全
:inoremap ( ()<ESC>i
:inoremap { {}<ESC>i
:inoremap [ []<ESC>i
" 窗口切换的快捷方式
map <s-h> <c-w>h
map <s-l> <c-w>l
map <s-j> <c-w>j
map <s-k> <c-w>k
" 设置热键
let mapleader = "\<Space>"
" 映射快捷键
nnoremap <Leader>w :w<CR>
nnoremap <Leader>g G
" buffer 切换
nnoremap <Leader>bn :bn<CR>
nnoremap <Leader>bb :bp<CR>
" 关闭buffer
nnoremap <Leader>bc :bwipe<CR>