我的vim配置分享给大家,不定期更新。
更新日期:2021年3月4日
"------------ Vundle插件管理器start------------
set nocompatible " 需要改进,必需
filetype off " 必需
" 设置运行时路径以包括Vundle并初始化
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'kristijanhusak/vim-packager'
Plugin 'tpope/vim-dadbod'
Plugin 'kristijanhusak/vim-dadbod-ui'
Plugin 'morhetz/gruvbox'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'godlygeek/tabular'
Plugin 'plasticboy/vim-markdown'
Plugin 'iamcco/markdown-preview.nvim'
" 中文输入法自动切换
" Plugin 'lyokha/vim-xkbswitch'
" 中文输入法切换2
"Plugin 'ybian/smartim'
" Shougo/deoplete.nvim
" Plugin 'Shougo/deoplete.nvim'
" Plugin 'roxma/nvim-yarp'
" Plugin 'roxma/vim-hug-neovim-rpc'
Plugin 'sbdchd/neoformat'
" 必须在下一行之前添加所有插件
call vundle#end() " 必需
"set runtimepath^=~/path/to/vim-javacomplete2
"autocmd FileType java setlocal omnifunc=javacomplete#Complete
filetype plugin indent on " 必需
" 帮助
" :PluginList - 显示插件列表
" :PluginInstall - 安装插件 ;包含 `!` 更新插件 或者 :PluginUpdate
" :PluginSearch foo - 搜索组件foo; 包含 `!` 刷新本地缓存
" :PluginClean - 确认删除未使用的插件;附加`!`以自动批准删除
"
" :h vundle 查看详细的帮助
" 将您的非插件内容放在此行之后
"------------ Vundle插件管理器end------------
"----------插件相关设置start------------
" 设置 启动文件管理器
" gruvbox
autocmd vimenter * ++nested colorscheme gruvbox
set bg=dark
" vim-airline
let g:airline#extensions#tabline#enabled = 1
let g:airline_powerline_fonts = 1
" 禁用vim-markdown默认折叠0不禁用|1禁用
let g:vim_markdown_folding_disabled = 1
" 自动隐藏markdown标记
set conceallevel=2
"let g:vim_markdown_fenced_languages = ['java=cs']
" 设置normal模式切换到的输入法
let g:smartim_default = 'com.apple.keylayout.ABC'
" Use deoplete.
set pyxversion=3
let g:deoplete#enable_at_startup = 1
"----------插件相关设置end------------
" 语法高亮开启
syntax on
set ruler
" 允许使用鼠标操作
set mouse=a
" 显示行号
set number
" 相对行号
set relativenumber
" tab=4个空格
set tabstop=4
" 解决插入模式下delete/backspace键失效的问题
set backspace=2
" 配色方案
"colorscheme evening
" 搜索高亮显示
set hlsearch
" 打开一个新文件不会显示上次搜索的高亮
exec "nohlsearch"
" 边输入边高亮
set incsearch
" 搜索忽略大小写
set ignorecase
" 智能大小写
set smartcase
" ------------------按键映射start------------------
let mapleader=" "
"jk 替换Esc方案
inoremap jk
inoremap hh
inoremap ll
" hh在我用的单词里出现的频率极低,其实感觉home用的没有end多,统一风格都用大写的吧
inoremap HH
" 单词中包含ll的太多了,所以用大写LL
inoremap LL
" ctrl-c 映射到 esc
inoremap
" 向下5行
noremap 5j
" 向上5行 1129
noremap 5k
" 复制到系统剪切板
" noremap "+y
" noreMap
" 保存并退出
map Q :wq
" 重新加载设置
map R :source $MYVIMRC
" 保存
"map S :w
noremap :w
" 取消搜索的高度
noremap :nohlsearch
" 启动MarkdownPreview 预览
noremap m :MarkdownPreview
" 设置 启动文件管理器
nnoremap :NERDTreeToggle
" 插入模式移动光标
inoremap
inoremap
inoremap
inoremap
"inoremap
"inoremap
inoremap
" hh在我用的单词里出现的频率极低,其实感觉home用的没有end多,统一风格都用大写的吧
inoremap HH
" 单词中包含ll的太多了,所以用大写LL
inoremap LL
" 快速跳转行首与行尾
nnoremap L $
nnoremap H ^
" ------------------按键映射end------------------
" 高度光标所在行
set cursorline
" 设置不换行
set nowrap
" 显示按下的按键
set showcmd
" 按tab显示菜单
set wildmenu
" -------------宏-------------
" System.out.println
:let @s="oSystem.out.println();\hi"
" pulic class Demo{}
:let @c="opublic class Demo {\}\ko\jkk$hdb\"
"批量替换特殊字符
:let @t=":%s/\\^\\[/\\\\/ge\:%s/kl/\\\\/ge\:%s/kr/\\\\/ge\:%s/ku/\\\\/ge\:%s/kd/\\\\/ge\:%s/kb/\\\\/ge\:%s/\\^M/\\\\/ge\"
" 改变 vim中光标的形状
let g:db_ui_use_nerd_fonts=1
let &t_SI.="\e[5 q" "SI = INSERT mode
let &t_SR.="\e[4 q" "SR = REPLACE mode
let &t_EI.="\e[1 q" "EI = NORMAL mode (ELSE)