vim制作Python3編輯器
安裝插件管理插件Vundel
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
用vi編輯~/.vimrc,復制下面代碼
保存退出,用vim再次進入,:PluginInstall安裝即可
syntax on
set nocompatible " 必須
set backspace=indent,eol,start
filetype off " 關閉自動檔案型別檢查,必須
" 設定運行時包含 Vundle 的路徑和 初始化,必須
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin() " 開始呼叫 Vundle 進行插件的管理
" 首先必須加載 Vundle 插件
Plugin 'VundleVim/Vundle.vim'
" 在下面撰寫自己需要用的的插件
"""""""""""""""""""""""""""""""
" Python 代碼自動補全提示
Plugin 'davidhalter/jedi-vim'
" 縮進標識
Plugin 'Yggdroot/indentLine'
let g:indentLine_color_term = 239
"let g:indentLine_char='🍉'
"let g:indentLine_concealcursor = 'inc'
"let g:indentLine_conceallevel = 2
Plugin 'MarcWeber/vim-addon-mw-utils'
" 檔案名模糊匹配
Plugin 'tomtom/tlib_vim'
Plugin 'garbas/vim-snipmate'
" Optional:
Plugin 'honza/vim-snippets'
" Python 代碼規范
Plugin 'tell-k/vim-autopep8'
Plugin 'nvie/vim-flake8'
" 自動括號匹配
Plugin 'jiangmiao/auto-pairs'
" 不同括號顯示不同顏色
Plugin 'kien/rainbow_parentheses.vim'
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
" 打開Vim后自動啟用rainbow_parenthsis插件
au VimEnter * RainbowParenthesesToggle
" 同時開啟對以下 3 種擴號的多彩色高亮顯示
au Syntax * RainbowParenthesesLoadRound " ()
au Syntax * RainbowParenthesesLoadSquare " []
au Syntax * RainbowParenthesesLoadBraces " {}
" 快速注釋
Plugin 'preservim/nerdcommenter'
" 所有要使用的插件,必須在下面一行之前
call vundle#end() " 必須的
filetype plugin indent on " 打開檔案型別檢查,必須的
" 下面是幫助資訊
" :PluginList - 列出已經安裝且配置好的插件
" :PluginInstall - 安裝插件
" :PluginUpdate - 更新現有的插件
" :PluginClean - 清空沒有在 .vimrc 檔案中配置的插件
""""""""""""""""""""""""""""""""""""
" 把你的非插件的其他設定放在這行后面
" 保存 .vimrc 檔案后,配置立刻生效
autocmd! bufwritepost $HOME/.vimrc source %
" 開啟自動匹配
set showmatch
"設定按下 Tab 鍵,實際輸入的是空格
set expandtab
"設定 expandtab 后,設定一下按一次 Tab 鍵輸入 4 個空格
set tabstop=4
"set smartindent
"自動縮進時候,縮進 4 個空格
set shiftwidth=4
"總是顯示狀態欄
set laststatus=2
"顯示光標當前位置
set ruler
"表示如果當前檔案在 Vim 外被修改且未在 Vim 里面重新載入的話,則自動重新讀取,
set autoread
"設定 Vim 視窗標題,
set title
"關閉錯誤提示的響鈴
set noerrorbells
" 基于縮進進行代碼折疊
set foldmethod=indent
" 啟動 Vim 時關閉折疊
set nofoldenable
" Vim打開檔案后,重復使用操作命令 za 可打開或關閉當前折疊;
" zM 用于關閉所有折疊,zR 則用來打開所有折疊,
"設定新建檔案時候,自動向檔案中添加內容
autocmd BufNewFile *.sh,*.py,*.go exec ":call AutoSetFileHead()"
function! AutoSetFileHead()
"對于 shell 腳本檔案 "
if &filetype == 'sh'
call setline(1, "#!/bin/bash")
endif
"對于 python3 檔案 "
if &filetype == 'python'
call setline(1, "#!/usr/bin/env python3")
call append(1, "# Author: 西瓜甜🍉")
call append(2, "# Email: shark@126.com")
endif
"對于 golang 檔案 "
if &filetype == 'go'
call setline(1, "#!/usr/bin/env go")
call append(1, "# Author: 西瓜甜🍉")
call append(2, "# Email: shark@126.com")
call append(3, "")
call append(4, "package main")
endif
"自動將游標定位到檔案末尾"
normal G
" 新建一行
normal o
normal o
endfunc
""""""""""""""""""""""
"Quickly Run
""""""""""""""""""""""
map <F5> :call RunNow()<CR>
func! RunNow()
exec "w"
if &filetype == 'c'
exec "!g++ % -o %<"
exec "!time ./%<"
elseif &filetype == 'java'
exec "!javac %"
exec "!time java %<"
elseif &filetype == 'sh'
:!time bash %
elseif &filetype == 'python'
exec "!time python3 %"
elseif &filetype == 'html'
exec "!firefox % &"
elseif &filetype == 'go'
" exec "!go build %<"
exec "!time go run %"
endif
endfunc
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/102766.html
標籤:其他
下一篇:關于對荷蘭大風車的起底
