天天看点

vimrc配置文件分享

我的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------------
" 设置<F7> 启动文件管理器
" 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 <esc>
inoremap hh <Home>
inoremap ll <End>
" hh在我用的单词里出现的频率极低,其实感觉home用的没有end多,统一风格都用大写的吧
inoremap HH <Home>
" 单词中包含ll的太多了,所以用大写LL
inoremap LL <End>
" ctrl-c 映射到 esc
inoremap <C-c> <esc>
" 向下5行
noremap <C-j> 5j
" 向上5行   1129
noremap <C-k> 5k
" 复制到系统剪切板
" noremap <C-x> "+y
" noreMap
" 保存并退出
map Q :wq<CR>
" 重新加载设置
map R :source $MYVIMRC<CR>
" 保存 
"map S :w<CR>
noremap <C-s> :w<CR>
" 取消搜索的高度
noremap <LEADER><CR> :nohlsearch<CR>
" 启动MarkdownPreview 预览
noremap <LEADER>m :MarkdownPreview<CR>
" 设置<F7> 启动文件管理器
nnoremap <F7> :NERDTreeToggle<CR>
" 插入模式移动光标
inoremap <C-h> <Left>
inoremap <C-j> <Down>
inoremap <C-k> <Up>
inoremap <C-l> <Right>
"inoremap <C-n> <Home>
"inoremap <C-m> <End>
inoremap <C-d> <Delete>
" hh在我用的单词里出现的频率极低,其实感觉home用的没有end多,统一风格都用大写的吧
inoremap HH <Home>
" 单词中包含ll的太多了,所以用大写LL
inoremap LL <End>
" 快速跳转行首与行尾
nnoremap L $
nnoremap H ^

" ------------------按键映射end------------------
" 高度光标所在行
set cursorline
" 设置不换行
set nowrap
" 显示按下的按键
set showcmd
" 按tab显示菜单 
set wildmenu
" -------------宏-------------
" System.out.println
:let @s="oSystem.out.println();\<Esc>hi"
" pulic class Demo{}
:let @c="opublic class Demo {\<CR>}\<Esc>ko\<Esc>jkk$hdb\<Esc>"
"批量替换特殊字符                                             
:let @t=":%s/\\^\\[/\\\\<Esc>/ge\<CR>:%s/<80>kl/\\\\<Left>/ge\<CR>:%s/<80>kr/\\\\<Right>/ge\<CR>:%s/<80>ku/\\\\<Up>/ge\<CR>:%s/<80>kd/\\\\<Down>/ge\<CR>:%s/<80>kb/\\\\<Bs>/ge\<CR>:%s/\\^M/\\\\<CR>/ge\<CR>"

" 改变 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)


           

继续阅读