" 按f2切换paste
set pastetoggle=<F2>
" 显示行号
set number
" 命令模式下,在底部显示,当前键入的指令
set showcmd
" 使用 utf-8 编码。
set encoding=utf-8
" 开启文件类型检查,并且载入与该类型对应的缩进规则
" 比如,如果编辑的是.py文件,
" Vim 就是会找 Python 的缩进规则~/.vim/indent/python.vim。
filetype indent on
" 按下回车键后,下一行的缩进会自动跟上一行的缩进保持一致。
set autoindent
" 按下 Tab 键时,Vim 显示的空格数。
set tabstop=4
" 在文本上按下>>(增加一级缩进)、<<(取消一级缩进)
" 或者==(取消全部缩进)时,每一级的字符数。
set shiftwidth=4
" 由于 Tab 键在不同的编辑器缩进不一致,该设置自动将 Tab 转为空格。
set expandtab
" Tab 转为多少个空格。
set softtabstop=4
" 搜索时忽略大小写。
set ignorecase
" 自动补全php代码
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
" 映射
let mapleader = ","
inoremap ( ()<ESC>i
inoremap ) <c-r>=ClosePair(')')<CR>
inoremap { {}<ESC>i
inoremap } <c-r>=ClosePair('}')<CR>
inoremap [ []<ESC>i
inoremap ] <c-r>=ClosePair(']')<CR>
" inoremap < <><ESC>i
" inoremap > <c-r>=ClosePair('>')<CR>
function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endf
" 通过F1来切换是否显示行号
nnoremap <F1> :set nu! nu?<cr>
" 使用空格键来选择单词
nnoremap <space> viw
" 使用<leader>sa来完成全选所有文本
nnoremap <leader>sa ggVG
" 使用U来实现恢复操作
nnoremap U <c+r>
" 使用<leader>o来新增一行空白行
nnoremap <leader>o o<esc>
" ,q退出;,q!强制退出;,w保存;,wq保存并退出
nnoremap <leader>q :q<cr>
nnoremap <leader>w :w<cr>
nnoremap <leader>v :NERDTreeFind<CR>
nnoremap <leader>g :NERDTreeToggle<CR>
let NERDTreeShowHidden=1
let NERDTreeIgnore = ['\.pyc','\~$','\.swp', '\.git$']
let g:NERDTreeIndicatorMapCustom = {
\ "Modified" : "✹",
\ "Staged" : "✚",
\ "Untracked" : "✭",
\ "Renamed" : "➜",
\ "Unmerged" : "═",
\ "Deleted" : "✖",
\ "Dirty" : "✗",
\ "Clean" : "✔︎",
\ 'Ignored' : '☒',
\ "Unknown" : "?"
\ }
" 使用jj来代替esc键
inoremap jj <esc>`^
inoremap <C-b> <Backspace>
inoremap <C-d> <Esc>lxi
inoremap <C-h> <Left>
inoremap <C-j> <Down>
inoremap <C-k> <Up>
inoremap <C-l> <Right>
inoremap <C-a> <Esc>0i
inoremap <C-e> <Esc>$a
inoremap <C-o> <Esc>o
" 块选择模式下<来减少缩进,>来添加缩进
vnoremap < <gv
vnoremap > >gv
call plug#begin('~/.vim/plugged')
" 美化插件
Plug 'mhinz/vim-startify'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
" 文件目录管理、文件搜索
Plug 'scrooloose/nerdtree'
Plug 'kien/ctrlp.vim'
" 快速移动
Plug 'easymotion/vim-easymotion'
nmap ss <Plug>(easymotion-s2)
" 成对编辑
Plug 'tpope/vim-surround'
" Initialize plugin system
call plug#end()
Published by 1024@phper
热爱编程,热爱生活
View all posts by 1024@phper