vim的进阶学习分为两部分:自定义配置文件以及插件的使用。
自定义配置文件
在这里我们需要修改.vimrc
文件,稍后我会将我的配置文件发在文章结尾,所有的配置都是参考b站的课程:传送门。
首先就是
| |
| syntax on |
| |
| set number |
| |
| colorscheme onedark |
| |
| set pastetoggle=<F2> |
| |
| set hlsearch |
| |
| set foldmethod=indent |
| |
| |
| let mapleader=',' |
| let g:mapleader=',' |
| |
| |
| inoremap jj <Esc>`^ |
| |
| inoremap <leader>w <Esc>:w<cr> |
| noremap <leader>w :w<cr> |
| |
| |
| nnoremap <silent> [b :bprevious<CR> |
| nnoremap <silent> [n :bnext<CR> |
| |
| noremap <C-h> <C-w>h |
| noremap <C-j> <C-w>j |
| noremap <C-k> <C-w>k |
| noremap <C-l> <C-w>l |
| |
| |
| |
| |
| com! FormatJson %!python -m json.tool |
插件的使用
这里我们使用vim-plug
来进行插件管理,具体怎么安装插件大家可以根据视频自学,我这里记录一下基础命令。
1.文件目录树:nerdtree
| :NERDTREE 打开文件目录 |
| ,g 快速打开 |
| ,v 快速跳转到文件在目录树对应位置 |
2.模糊搜索器:CtrlP
3.快速定位插件:easymotion
4.成对编辑插件:Vim-surround
| ys iw " 快速给一个单词添加双引号 |
| cs " ' 快速修改双引号为单引号 |
| ds " 快速删除双引号 |
| |
5.命令行模糊搜索工具:fzf
| Files 要搜索的目录路径 |
| :Ag 要搜索的字符串 |
6.搜索替换插件:far
| :Far 要替换的文本 替换后的文本 要替换的目录 |
| Fardo 确定替换 |
| 例子:Far foo bar **/*.py |
7.python-mode
| ctrl + ] 快速查看代码定义 |
| ctrl + xo 代码补全 |
| :PymodeLintAuto 自动代码整理 |
8.浏览代码插件:tagbar
9.代码补全插件:deoplete
11.静态检查插件:ale
13.git插件:Fugitive
| Gedit,Gdiff,Gcommit,Gblame |
vim-plug插件配置:
| |
| |
| call plug#begin() |
| |
| |
| Plug 'mhinz/vim-startify' |
| |
| Plug 'joshdick/onedark.vim' |
| |
| Plug 'w0ng/vim-hybrid' |
| |
| Plug 'vim-airline/vim-airline' |
| Plug 'vim-airline/vim-airline-themes' |
| |
| Plug 'yggdroot/indentline' |
| |
| Plug 'scrooloose/nerdtree' |
| |
| Plug 'kien/ctrlp.vim' |
| |
| Plug 'easymotion/vim-easymotion' |
| |
| Plug 'tpope/vim-surround' |
| |
| Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } |
| Plug 'junegunn/fzf.vim' |
| |
| Plug 'brooth/far.vim' |
| |
| Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' } |
| |
| Plug 'python-mode/python-mode', { 'for': 'python', 'branch': 'develop' } |
| |
| Plug 'majutsushi/tagbar' |
| |
| Plug 'lfv89/vim-interestingwords' |
| |
| if has('nvim') |
| Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } |
| else |
| Plug 'Shougo/deoplete.nvim' |
| Plug 'roxma/nvim-yarp' |
| Plug 'roxma/vim-hug-neovim-rpc' |
| endif |
| Plug 'zchee/deoplete-jedi' |
| |
| Plug 'neoclide/coc.nvim', {'branch': 'release'} |
| |
| Plug 'sbdchd/neoformat' |
| |
| Plug 'w0rp/ale' |
| |
| Plug 'tpope/vim-commentary' |
| |
| Plug 'tpope/vim-fugitive' |
| Plug 'airblade/vim-gitgutter' |
| Plug 'junegunn/gv.vim' |
| call plug#end() |
| |
| let g:lightline = { |
| \ 'colorscheme': 'onedark', |
| \ } |
| |
| nnoremap <leader>v :NERDTreeFind<cr> |
| nnoremap <leader>g :NERDTreeToggle<cr> |
| let NERDTreeShowHidden=1 |
| let NERDTreeIgnore = [ |
| \ '\.git$', '\.hg$','\.svn$','\.stversions$','\.pyc$','\.pyo$','\.swp$', |
| \ '\.DS_Store$','\.sass-cache$','\.__pycache__$','\.egg-info$','\.ropeproject$', |
| \ ] |
| |
| let g:ctrlp_map = '<c-p>' |
| |
| nmap ss <Plug>(easymotion-s2) |
| |
| autocmd BufNewFile,BufRead *.go setlocal noexpandtab tabstop=4 shiftwidth=4 |
| |
| let g:pymode_python = 'python3' |
| let g:pymode_trim_whitespaces = 1 |
| let g:pymode_doc = 1 |
| let g:pymode_doc_bind = 'k' |
| let g:pymode_rope_goto_definition_bind = "<C-]>" |
| let g:pymode_lint = 1 |
| let g:pymode_lint_checkers = ['pyflakes', 'pep8', 'mccabe','pylint'] |
| let g:pymode_options_max_line_length = 120 |
| |
| nnoremap <leader>t :TagbarToggle<CR> |
| |
| set wildignore+=*/tmp/*,*.so,*.swp,*.zip |
| let g:ctrlp_suatom_ignore = { |
| \ 'dir': '\v[\/]\.(git|hg|svn)$', |
| \ 'file': '\v\.(exe|so|dll|swp|pyc|pyo)$', |
| \ } |
| let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' |
| if executable('ag') |
| set grepprg=ag\ --nogroup\ --nocolor |
| let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""' |
| else |
| let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files . -co --exclude-standard','find %s -type f'] |
| endif |
| |
| set completeopt-=preview |
| let g:deoplete#enable_at_startup = 1 |
| set updatetime=100 |
本文作者:信2005-2刘海涛
本文链接:https://www.cnblogs.com/lht020321/p/18010091
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步