doina

一个小菜鸟运维工程师.

为Python打造Vim开发环境

Vim F5一键执行python脚本

在/etc/vimrc文件追加

vim >> /etc/vimrc
""""""""""""""""""""""
"Quickly Run
"""""""""""""""""""""""
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
    exec "w"
    if &filetype == 'c'
        exec "!g++ % -o %<"
        exec "!time ./%<"
    elseif &filetype == 'cpp'
        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 %<"
        !time go run %"
    elseif &filetype == 'mkd'
        exec "!~/.vim/markdown.pl % > %.html &"
        exec "!firefox %.html &"
    endif
endfunc

使用F5执行测试

$ vim F5RunTest.py
#!/bin/bash/python3
import os

print(os.listdir('/root/'))
#按下<Esc>,然后按F5

《为Python打造Vim开发环境》

snipMate Vim代码补全插件

插件下载地址 https://www.vim.org/scripts/download_script.php?src_id=11006

$ wget http://download.baiyongjie.com/python/vim/snipMate.zip
$ mkdir ~/.vim/
$ unzip snipMate.zip -d ~/.vim

启动插件
$ echo ":filetype plugin on" >>  ~/.vimrc

自定义补全
$ vim ~/.vim/snippets/python.snippets

snippet #!
        #!/usr/bin/python3
        # -*- coding:utf-8 -*-
        # Author: baiyongjie

snippet pr
        print("${1:module}")

snippet if
        if ${1:module}:
            ${2:# code...}

《为Python打造Vim开发环境》

修改补全键Tab为C-a(避免和pydiction冲突)

$ vim .vim/after/plugin/snipMate.vim 

#把下面两行
ino <silent> <tab> <c-r>=TriggerSnippet()<cr>
snor <silent> <tab> <esc>i<right><c-r>=TriggerSnippet()<cr>
#修改为Curl+a
ino <silent> <C-a> <c-r>=TriggerSnippet()<cr>
snor <silent> <C-a> <esc>i<right><c-r>=TriggerSnippet()<cr>

#如不生效则增加
imap <C-J> <Plug>snipMateNextOrTrigger 
smap <C-J> <Plug>snipMateNextOrTrigger 

pydiction python代码提示插件

插件下载地址 https://www.vim.org/scripts/download_script.php?src_id=21842

$ wget http://download.baiyongjie.com/python/vim/pydiction-1.2.3.zip
$ unzip pydiction-1.2.3.zip -d ~/.vim

#确保设置 "g:pydiction_location" 指向你放置的 complete-dict 文件所在的全路径
$ echo "let g:pydiction_location = '.vim/pydiction/complete-dict'"  >> .vimrc
$ echo "let g:pydiction_menu_height = 5" >> .vimrc

$ mkdir ~/.vim/after/ftplugin/
$ cp .vim/pydiction/after/ftplugin/python_pydiction.vim  ~/.vim/after/ftplugin/

《为Python打造Vim开发环境》

修改补全键(避免和其他插件冲突)

    $ vim   ~/.vim/after/ftplugin/python_pydiction.vim

#找到 
inoremap <silent> <buffer> <Tab>
#修改为Curl+n
inoremap <silent> <buffer> <C-n>

jedi-vim python自动补全工具安装

安装插件管理工具pathogen

$ git clone  https://github.com/tpope/vim-pathogen.git
$ cp vim-pathogen/autoload/pathogen.vim  ~/.vim/autoload/ 

$ vim ~/.vimrc
#下面两句要加在文件头部
call pathogen#infect()
syntax on

安装jedi-vim(按.补全)

$ pip install jedi
$ mkdir ~/.vim/bundle/ && cd ~/.vim/bundle/
$ git clone https://github.com/davidhalter/jedi-vim.git && cd jedi-vim
$ git submodule update --init

《为Python打造Vim开发环境》

点赞

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据