vim(linux)常用配置
用户目录下面的文件.vimrc
touch ~/.vimrc
添加:
" Indentation & Tabs
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
set smarttab
" Display & format
set number
set textwidth=80
set wrapmargin=2
set showmatch
" Search
set hlsearch
set incsearch
set ignorecase
set smartcase
" Browse & Scroll
set scrolloff=5
set laststatus=2
" Spell
set spell spelllang=en_us
" Miscellaneous
set nobackup
set noswapfile
set autochdir
set undofile
set visualbell
set errorbells
一个简单的nvim配置 init.vim
scriptencoding utf-8
" 请先安装 plug.vim 插件管理器
" 这里是给 plug.vim 的插件换源加速
let g:plug_url_format="https://hub.fastgit.org/%s.git"
" 扩展管理 扩展安装目录
call plug#begin('~/.vim/plugged')
" 安装coc.nvim插件
Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'}
" 为了支持 coc-flutter 安装 dart 的语言服务端
Plug 'dart-lang/dart-vim-plugin'
Plug 'thosakwe/vim-flutter'
" 文件树展示
Plug 'preservim/nerdtree'
" 文件搜索,需要 python2&&python3 环境(但是兼容性比较好)
Plug 'Yggdroot/LeaderF', { 'do': './install.sh' }
call plug#end()
" nerdtree 防止使用vim-plug崩溃
let g:plug_window = 'noautocmd vertical topleft new'
autocmd BufEnter * if bufname('#') =~# "^NERD_tree_" && winnr('$') > 1 | b# | endif
set relativenumber
let g:python3_host_prog = '/usr/bin/python3'
let g:python_host_prog = '/usr/bin/python'
" 编辑模式下面映射esc按键
inoremap zz <esc>
" vnoremap zz <esc>
" nnoremap zz <esc>
" 因为mac的gui导致ctrl+[]有冲突修正翻页按键
" 上一页/下一页
nnoremap K <pageup>
nnoremap J <pagedown>
" 反撤销(备注: <c-y> 就是Ctrl+y)
nnoremap ru :redo<cr>
" coc flutter jump to definded
nnoremap cgd :CocCommand flutter.gotoSuper<cr>
" [mouse support] 鼠标支持
set selection=inclusive " 指定在选择文本时光标所在位置也属于被选中的范围
set selectmode=mouse,key " 使鼠标和键盘都可以控制光标选择文本
" 关于 tab 切换
noremap <leader>1 :tabn 1<cr>
noremap <leader>2 :tabn 1<cr>
noremap <leader>3 :tabn 1<cr>
noremap <leader>4 :tabn 1<cr>
noremap <leader>5 :tabn 1<cr>
noremap <leader>6 :tabn 1<cr>
noremap <leader>7 :tabn 1<cr>
noremap <leader>8 :tabn 1<cr>
noremap <leader>9 :tabn 1<cr>
noremap <leader>c :tabclose<cr>