小x
小x
Published on 2025-04-07 / 10 Visits
0
0

Vim 配置 & 优化

在安装完 VIM 之后, 需要对其进行一定程度上的优化和配置, 让其更加好用

插件管理器安装

一般来说, 使用 vim-plug 管理vim相关插件

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://gh.xx9527.cn/https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

配置

tee ~/.vimrc <<EOF
" github下载加速
let g:plug_url_format='https://gh.xx9527.cn/https://github.com/%s.git'

" 插件开始配置
call plug#begin('~/.vim/plugged')
Plug 'Yggdroot/LeaderF', { 'do': ':LeaderfInstallCExtension' }
Plug 'tpope/vim-sensible'        " 一个常用的默认插件,提供一些合理的默认设置
Plug 'preservim/nerdtree'        " 一个文件浏览器插件
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
Plug 'jiangmiao/auto-pairs'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'preservim/nerdcommenter'
call plug#end()

map <C-n> :NERDTreeToggle<CR>

" auto-pairs 配置  
au Filetype FILETYPE let b:AutoPairs = {"(": ")"}
au FileType php      let b:AutoPairs = AutoPairsDefine({'<?' : '?>', '<?php': '?>'})

" nerd commenter 配置
let g:NERDSpaceDelims = 2
let g:NERDCompactSexyComs = 2
let g:NERDCommentEmptyLines = 2
let g:NERDToggleCheckAllLines = 2

" 编辑设置
set nu                      " 显示行号 同 number
set tabstop=4               " 设置制表符宽度为4
set softtabstop=4           " 设置软制表符宽度为4
set shiftwidth=4            " 设置缩进的宽度为4
set expandtab               " 制表符扩展为空格
set showmatch               " 输入括号时,自动高亮对应的另一个括号, 各种括号
set ruler                   " 在状态栏显示光标的当前位置(位于哪一行哪一列)
set autoindent              " 设置自动缩进
"set cindent                 " 以C语言的方式缩进
set cursorline              " 突出显示当前行

" 字体和主题
"set guifont=Consolas:h15    " 设置字体和字体大小, 得系统有
"colorscheme neodark         " 设置主题为neodark, 前提得有
let g:airline_powerline_fonts = 1  " 支持 powerline 字体
let g:airline#extensions#tabline#enabled = 1  " 显示窗口tab和buffer
let g:airline_theme='murmur'  " murmur配色不错
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
let g:airline_left_sep = '▶'
let g:airline_left_alt_sep = '❯'
let g:airline_right_sep = '◀'
let g:airline_right_alt_sep = '❮'
let g:airline_symbols.linenr = '¶'

" 备份还原设置
"set nobackup                " 取消备份文件
"setlocal noswapfile         " 不创建交换文件.swp, 奔溃用, 正常退出会删除
set undofile                 " 生成un~文件, un~文件用来保存撤销历史
set undodir=~/.vim/undodir   " 统一管理undo文件路径  mkdir ~/.vim/undodir -p
"set backup                   " 开启备份文件 filename~
"set backupext=.bak          " 设置备份文件后缀为.bak

" 工具环境设置
set showmode                " 在底部显示,当前处于命令模式还是插入模式
set showcmd                 " 命令模式下,显示当前键入的指令, 包括快捷键
set hlsearch                " 高亮显示搜索的字符串
set t_Co=256                " 启用256色, 不用主题就关了
set noerrorbells            " 出错时不发出响声
set vb t_vb=                " 光标边界响铃关闭
set laststatus=2            " 显示状态栏
set statusline=%F%m%r%h%w\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%Y\ -\ %H:%M\")}  "状态栏信息模板
set backspace=2
" 语法高亮显示
syntax on
syntax enable
" 文件编码配置
set enc=utf-8               " vim内部编码模式,即内存中的编码 同 encoding
set fenc=utf-8              " 保存文件的默认编码, 不会覆盖原编码
set fencs=ucs-bom,utf-8,cp936,gb18030,gb2312,gbk,big5,euc-jp,euc-kr,shift-jis,latin1   "打开文件时的编码猜测列表,按前后优先级顺序 同fileencodings
set termencoding=utf-8
EOF


Comment