Linux VIM8.1 Python3 編輯器配置文件python
實現功能:git
.vimrc 配置文件:vim
"""""""""""""""""""""""""""""""""""""""""""""""""""" " " - kevin - " "---------------------簡單配置------------------------ set nocompatible "關閉與vi的兼容模式 set number "顯示行號 set nowrap "不自動折行 set showmatch "顯示匹配的括號 set scrolloff=3 "距離頂部和底部3行" set encoding=utf-8 "編碼 set fenc=utf-8 "編碼 "set mouse=a "啓用鼠標 set hlsearch "搜索高亮 syntax on "語法高亮 set backspace=indent,eol,start "啓動刪除設置" "-------------------------Debugger調試器F1---------------------------- let g:sendtorepl_invoke_key = "f" "傳送代碼快捷鍵,默認爲<leader>w let g:repl_position = 0 "0表示出如今下方,1表示出如今上方,2在左邊,3在右邊 let g:repl_stayatrepl_when_open = 0 "打開REPL時是回到原文件(1)仍是停留在REPL窗口中(0 let g:repl_checkpoint_position = '~/.temp/' let g:repl_auto_sends = ['class ', 'def '] let g:repl_cursor_down = 1 let g:repl_program = { \ "python": "python3", \ "default": "bash" \ } let g:repl_exit_commands = { \ "python": "quit()", \ "bash": "exit", \ "zsh": "exit", \ "default": "exit", \ } "------------爲py文件添加支持pep8風格的配置------------- au BufNewFile,BufRead *.py \ set tabstop=4 "tab寬度 \ set softtabstop=4 \ set shiftwidth=4 \ set textwidth=79 "行最大寬度 \ set expandtab "tab替換爲空格鍵 \ set autoindent "自動縮進 \ set fileformat=unix "保存文件格式 "-------分隔窗口將新窗口再右邊或者下方打開,添加配置----- set splitbelow set splitright "分割窗口參數 ":vs 或者 :vsplit 將當前窗口豎直分割,並在上面新窗口中顯示當前文件 ":vs filename 將當前窗口豎直分割,新文件在新窗口中顯示 ":sp 或者:sv或者:split 將當前窗口水平分割,並在左邊新窗口中顯示當前文件 ":sp filename 將當前窗口豎直分割,新文件在左邊新窗口中顯示 ":new 新建文件並豎直分割 ":vnew 新建文件並水平分割 "--------------添加頭文件信息------------------- function HeaderPython() call setline(1, "#!/usr/bin/env python") call append(1, "# -*- coding: utf-8 -*-") call append(2, "# @Time: " . strftime('%Y-%m-%d %T', localtime())) call append(3, "# @Author: xiangsikai") call append(4, "# ############# 調試器 ############## #") call append(5, "# from pudb import set_trace;set_trace()#") normal G normal o normal o endf autocmd bufnewfile *.py call HeaderPython() "--------------代碼摺疊配置----------------------- set foldmethod=indent set foldlevel=99 "使用zc按鍵來建立摺疊,使用za來打開或者關閉摺疊。 "za常常會誤輸入,空格快捷鍵來替代za: nnoremap <space> za "--------------一鍵執行python代碼配置-------------- "按 F4 執行代碼 map <F4> :call RunPython()<CR> func! RunPython() exec "W" if &filetype == 'python' exec "!time python3 %" endif endfunc "-----------------Vundle 插件---------------------- set nocompatible " be iMproved, required filetype off " required set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() "-------------------------------------------------- " 使用:PluginInstall下載下面的插件 "-------------------------------------------------- " " 其餘:經常使用命令 ↓ " " :PluginList - 列表配置插件 " :PluginInstall - 裝的插件;添加」!「 " :PluginUpdate - 更新 " :PluginSearch foo - 搜索foo;添加」!來刷新本地緩存 " :PluginClean - 確認移除未使用的插件;添加」!」 " "-----let Vundle manage Vundle, required----------- Plugin 'VundleVim/Vundle.vim' "Debugger調試器F1 Plugin 'sillybun/vim-repl' autocmd FileType python map <buffer> <F1> :REPLToggle<CR> "YCM自動補全 Plugin 'Valloric/YouCompleteMe' "vim8自動補全插件 Plugin 'maralla/completor.vim' let g:completor_python_binary = '/usr/bin/python3' "vim8自動縮進插件 Plugin 'vim-scripts/indentpython.vim' "vim8語法檢查插件 Plugin 'vim-syntastic/syntastic' "vim8添加flake8代碼風格檢查 Plugin 'nvie/vim-flake8' " F2啓用代碼檢查 autocmd FileType python map <buffer> <F2> :call Flake8()<CR> "保存文件時顯示錯誤 "autocmd BufWritePost *.py call flake8#Flake8() "配色方案1 vundle下載 Plugin 'altercation/vim-colors-solarized' "light or dark 兩種配色主題 syntax enable set background=light "樹形目錄 Plugin 'scrooloose/nerdtree' "樹形目錄快捷鍵 ctrl + n map <C-n> :NERDTreeToggle<CR> "設置忽略文件 let NERDTreeIgnore=['\~$', '\.pyc$', '\.swp$'] "爲nerdtree添加git支持 Plugin 'Xuyuanp/nerdtree-git-plugin' "若是你想用tab鍵 Plugin 'jistr/vim-nerdtree-tabs' "美化欄 Plugin 'Lokaltog/vim-powerline' "縮進指示線 | 開關:IndentLinesToggle Plugin 'Yggdroot/indentLine' "自動格式化工具 | 運行:Autopep8 |效果自動一招pep8標準自動格式化代碼 Plugin 'tell-k/vim-autopep8' "設置快捷鍵F3代替:Autopep8 autocmd FileType python noremap <buffer> <F3> :call Autopep8()<CR> "自動補全括號引號等 Plugin 'jiangmiao/auto-pairs' "搜索插件 | ctrl+p 而後輸入你要尋找的文件就好了 Plugin 'kien/ctrlp.vim' "搜索引擎使用了 the_silver_searcher "使用:Ag [options] {pattern} [{directory}] Plugin 'rking/ag.vim' "git集成插件 | vim內運行git命令 Plugin 'tpope/vim-fugitive' "其餘模塊 Plugin 'tomasr/molokai' Plugin 'vim-scripts/phd' Plugin 'vim-airline/vim-airline' Plugin 'vim-airline/vim-airline-themes' Plugin 'octol/vim-cpp-enhanced-highlight' Plugin 'derekwyatt/vim-fswitch' Plugin 'vim-scripts/a.vim' Plugin 'kshenoy/vim-signature' Plugin 'vim-scripts/BOOKMARKS--Mark-and-Highlight-Full-Lines' Plugin 'majutsushi/tagbar' Plugin 'vim-scripts/indexer.tar.gz' Plugin 'vim-scripts/DfrankUtil' Plugin 'vim-scripts/vimprj' Plugin 'dyng/ctrlsf.vim' Plugin 'vim-scripts/DrawIt' Plugin 'SirVer/ultisnips' Plugin 'rdnetto/YCM-Generator' Plugin 'derekwyatt/vim-protodef' "Plugin 'gcmt/wildfire.vim' "視圖模式多選 Plugin 'sjl/gundo.vim' Plugin 'Lokaltog/vim-easymotion' Plugin 'suan/vim-instant-markdown' Plugin 'qpkorr/vim-bufkill' Plugin 'skywind3000/asyncrun.vim' "-------------------------------------------- call vundle#end() " required filetype plugin indent on " required "--------------------------------------------