1、安装vundle
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
- 1
打开~/.vimrc
:
vim ~/.vimrc
- 1
填写以下配置:
set nocompatible " required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
" Add all your plugins here (note older versions of Vundle used Bundle instead of Plugin)
#在此处增加新的插件
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
2、按F5执行python文件
在~/vimrc
最后加入以下
filetype plugin on
" 按 F5 执行当前 Python 代码"
map <F5> :call PRUN()<CR>
func! PRUN()
exec "w"
if &filetype == 'python'
exec "!python %"
endif
endfunc
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
然后在编辑模式下按esc
后按下F5
即可运行该python文件
3、安装插件
(1) 安装步骤
以下为需要安装的插件
在~/.vimrc
中call vundle#begin()
和call vundle#end()
中间输入
Plugin 'davidhalter/jedi-vim'
Plugin 'Yggdroot/indentLine'
Plugin 'tell-k/vim-autopep8'
Plugin 'ctrlpvim/ctrlp.vim'
Plugin 'nvie/vim-flake8'
Plugin 'jiangmiao/auto-pairs'
Plugin 'kien/rainbow_parentheses.vim'
Plugin 'preservim/nerdcommenter'
Plugin 'heavenshell/vim-pydocstring'
Plugin 'morhetz/gruvbox'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
然后保存退出,在新终端中输入:
vim
#此步骤需要等待会直到出现Done
:PluginInstall
:qall
- 1
- 2
- 3
- 4
(1) jedi-vim(自动补全插件)
在编辑模式下按下ctrl+space
即可出现补全列表
(2) indentLine(显示缩进)
(3) autopep8(根据规范自动规范代码)
#在常规模式下按下F8即可以自动修正
autocmd FileType python noremap <buffer> <F8> :call Autopep8()<CR>
#去除窗口的对比
let g:autopep8_disable_show_diff=1
- 1
- 2
- 3
- 4
(4)ctrlp(模糊搜索)
按下ctrl+p
即可进行模糊搜索
(5)vim-flake8(语法检查)
默认按下F7可以进行语法检查
在~/vimrc
下添加以下内容使得每次保存时自动检查
autocmd BufWritePost *.py call flake8#Flake8()
- 1
出现的错误会在quickfix
窗口下,quickfix
下的窗口指令如下:
在~/.config/flake8
(没有就创建)中添加以下信息可以进行更多配置:
[flake8]
max-line-length = 120 #每行最大字符数为120
ignore=E402,E226#忽略这两种报错
- 1
- 2
- 3
(6)auto-pairs(自动补全括号)
(7)rainbow_parentheses(括号匹配颜色)
在~/.vimrc
中配置官方推荐的颜色:
let g:rbpt_colorpairs = [
\ ['brown', 'RoyalBlue3'],
\ ['Darkblue', 'SeaGreen3'],
\ ['darkgray', 'DarkOrchid3'],
\ ['darkgreen', 'firebrick3'],
\ ['darkcyan', 'RoyalBlue3'],
\ ['darkred', 'SeaGreen3'],
\ ['darkmagenta', 'DarkOrchid3'],
\ ['brown', 'firebrick3'],
\ ['gray', 'RoyalBlue3'],
\ ['darkmagenta', 'DarkOrchid3'],
\ ['Darkblue', 'firebrick3'],
\ ['darkgreen', 'RoyalBlue3'],
\ ['darkcyan', 'SeaGreen3'],
\ ['darkred', 'DarkOrchid3'],
\ ['red', 'firebrick3'],
\ ]
let g:rbpt_max = 16
let g:rbpt_loadcmd_toggle = 0
au VimEnter * RainbowParenthesesToggle
au Syntax * RainbowParenthesesLoadRound
au Syntax * RainbowParenthesesLoadSquare
au Syntax * RainbowParenthesesLoadBraces
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
(8)nerdcommenter(快速注释)
参考
<leader>为\,直接在编辑模式下输入即可。
[count]<leader>cu:取消注释从当前行往下数的 count 行,count 可省略,默认值为 1,例如,\cu 表示取消注释光标所在当前行,而 5\cu 则表示取消注释从光标所在当前行往下的连续 5 行。
[count]<leader>ci:切换从当前行往下数的 count 行的注释状态。例如,假设光标所在当前行已经被注释掉,那么在当前行上执行 2\ci 命令,将会取消注释从光标所在当前行往下的连续 2 行;假设光标所在当前行并未被注释,那么在当前行上执行 \cc 命令,将会注释掉光标所在当前行。
<leader>c$:注释掉从当前光标所在位置到行尾的剩下内容,等价于在光标当前所在位置插入注释符 ( c$ 表示 NERDCommenterToEOL 的缩写。
<leader>cA:在光标所在当前行行尾添加注释符号并进入 Vim 的插入模式( cA 是 NERDCommenterAppend 的缩写)。
(9)vim-pydocstring(快速增加函数注释)
克隆该项目,使用make install
安装doq,然后在~/.vimrc
中添加
let g:pydocstring_doq_path = '~/.local/bin/doq'
- 1
将光标移动到 def 或 class 关键字所在行,在命令模式中输入 :Pydocstring 并按下回车键, 就可以看到文档字符串模板出现在当前行的下方,会根据已有的代码规则自动识别包含函数名、参数类型、参数以及返回值类型。
在~/.vimrc
中添加以下指令,将添加注释功能绑定到快捷键F10上:
nmap <silent> <F10> <Plug>(pydocstring)
- 1
(10)gruvbox(更改主题)
更改主题,在~/vimrc
中添加:
colorscheme gruvbox
set background=dark
- 1
- 2
4、其他设置
永久显示行号:
在~/vimrc
最后一行添加
set number
- 1
取消ctrl+s锁定屏幕和ctrl+q解锁
在~/.bashrc
中加入
stty -ixon
- 1
然后
source ~/.bashrc
- 1
在~/vimrc
中加入
imap <C-S> <ESC>:w<CR>
map <C-S> :w<CR>
imap <C-Q> <ESC>:q<CR>
map <C-Q> :q<CR>
- 1
- 2
- 3
- 4
现在按下ctrl+s
即可保存文件,按下ctrl+q
即可退出