关山难越,谁悲失路之人;萍水相逢,尽是他乡之客。
百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程教程 > 技术文章 > 正文

使用vim搭建python开发环境

guanshanw 2023-08-22 02:47 42 浏览 0 评论


最近开始经常需要用vim写代码,这里记录一下自己利用vim搭建基本的python开发环境所使用的插件和一些基本配置

使用vim搭建python开发环境

vim基本配置

~/.vimrc文件中,添加如下的信息,完成vim的一些基本配置。

" 设置编码
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8


set nocompatible            " 关闭 vi 兼容模式

syntax on                   " 自动语法高亮

set ruler                   " 打开状态栏标尺

set number  "显示行号

autocmd FileType python set expandtab  "在Python文件中将Tab展开成空格,

set tabstop=4  "设置Tab长度为4空格

set shiftwidth=4  " 设定 << 和 >> 命令移动时的宽度为 4

set autoindent  "自动缩进

set paste  "防止粘贴时缩进混乱的问题

set cursorline   " 突出显示当前行

set hlsearch                " 搜索时高亮显示


"设置按5直接运行python代码
filetype plugin on
" 按 F5 执行当前 Python 代码"
map <F5> :call PRUN()<CR>
func! PRUN()
    exec "w" 
    if &filetype == 'python'
        exec "!python %"
    endif
endfunc

「Vim插件管理器 Vundle」

从 GitHub clone Vundle.vim 文件到 ~/.vim/bundle 文件夹下,完成Vundle的安装。

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

然后修改~/.vimrc文件,添加如下的信息

filetype off

"设置包括vundle和初始化相关的运行时路径"
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

"启用vundle管理插件,必须"
Plugin 'VundleVim/Vundle.vim'

"在此增加其他插件

call vundle#end()  

filetype plugin indent on      "加载vim自带和插件相应的语法和文件类型相关脚本

「nerdcommenter 代码注释插件」

若使用 Vundle 安装 nerdcommenter 插件,需要中 Vim 的配置文件中添加

Plugin 'preservim/nerdcommenter'  "添加在call vundle#begin()与call vundle#end() 之间"

然后在 Vim 的命令行模式下执行 :BundleInstall 命令完成插件的安装

nerdcommenter的主要使用方式:

num\cc 注释接下来的num行
num\cu 取消接下来几行的注释
num\ci 更换接下来几行的注释状态

「Nerdtree树形目录管理器」

然后在 Vim 的命令行模式下执行 :BundleInstall 命令完成插件的安装

call vundle#begin()
Plugin 'preservim/nerdtree'
call vundle#end()

通过vundle安装好NERDTree插件后,在vim命令行模式输入命令:NERDTree就可以看到NERDTree的显示界面。

使用组合按键 Ctrl + w,可将光标自动在左右侧窗口进行切换。

如果想要每次启动vim的时候都默认开启NERDTree。可以在vimrc文件中添加:

autocmd VimEnter * NERDTree

「python代码补全 jedi-vim」

jedi-vim插件依赖python开源库「jedi」,可以使用pip安装:

pip install jedi

# 然后在vimrc中的call vundle#begin()与call vundle#end()之间添加:

Plugin 'davidhalter/jedi-vim'

「python代码检查插件vim-flake8」

pip3 install flake8
Plugin 'nvie/vim-flake8'

Vim 普通模式下按 F7 便可以直接启动 flake8 对当前文件进行语法和格式检查。

最终的vimrc文件

if has("syntax")
  syntax on
endif


if filereadable("/etc/vim/vimrc.local")
  source /etc/vim/vimrc.local
endif



" 设置编码
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8


set nocompatible            " 关闭 vi 兼容模式

syntax on                   " 自动语法高亮



set number  "显示行号

autocmd FileType python set expandtab  "在Python文件中将Tab展开成空格,

set tabstop=4  "设置Tab长度为4空格

set shiftwidth=4  " 设定 << 和 >> 命令移动时的宽度为 4

set autoindent  "继承前一行的缩进方式,适用于多行注释

set paste   "粘贴时防止出现缩进错误

set cursorline   " 突出显示当前行


set ignorecase smartcase    " 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感

set hlsearch                " 搜索时高亮显示被找到的文本


filetype off                   "必须"

"设置包括vundle和初始化相关的运行时路径"
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

"启用vundle管理插件,必须"
Plugin 'VundleVim/Vundle.vim'
Plugin 'preservim/nerdtree'
Plugin 'preservim/nerdcommenter'
Plugin 'davidhalter/jedi-vim'
Plugin 'nvie/vim-flake8'

call vundle#end()
filetype plugin indent on      "加载vim自带和插件相应的语法和文件类型相关脚本,必须"

autocmd VimEnter * NERDTree "vim启动自动打开NERDTree





filetype plugin on
" 按 F5 执行当前 Python 代码"
map <F5> :call PRUN()<CR>
func! PRUN()
    exec "w"
    if &filetype == 'python'
        exec "!python %"
    endif
endfunc

以上是我自己用的vim工具配置,如果大家有其他的好用的插件或者配置插件,欢迎一起交流分享呀

?

如果本文对你有丝毫的帮助,请帮忙「点个免费的赞」,你的鼓励是对我莫大的支持!!!

?

?

原文首发于「小哲AI」公众号,公众号主要分享人工智能前沿算法解读,AI项目代码解析,以及编程、互联网求职等技术资料文章,偶尔也会分享个人读书笔记、工作学习心得,欢迎关注,一起学习。

?

相关推荐

七条简单命令让您玩转Git
七条简单命令让您玩转Git

凭借着出色的协作能力、快速部署效果与代码构建辅助作用,Git已经得到越来越多企业用户的青睐。除了用于开发商业及消费级应用之外,众多科学及政府机构也开始尝试使用这...

2023-10-07 12:14 guanshanw

基本完整的关于Git分支branch的操作
基本完整的关于Git分支branch的操作

Git使用背景项目中要用到dev或者其他分支开发完代码,需要将该分支合并到master的需求操作步骤下面以dev名称为lex为分支名为例来操作一遍客户端操作:...

2023-10-07 12:14 guanshanw

Git 进阶(合并与变基)
Git 进阶(合并与变基)

在Git中整合来自不同分支的修改主要有两种方法:合并(merge)以及变基(rebase)合并(merge)merge流程图merge的原理是找到这两个分...

2023-10-07 12:13 guanshanw

Git学习笔记 003 Git进阶功能 part5 合并(第一部分)

合并(merge)是很常用的操作。尤其是一个庞大的很多人参与开发的企业级应用。一般会设定一个主分支,和多个副分支。在副分支开发完成后,合并到主分支中。始终保持主分支是一个完整的,稳定的最新状态的分支。...

非标题党,三张图帮你理解git merge和git rebase的区别
非标题党,三张图帮你理解git merge和git rebase的区别

初始场景:基于正常的开发分支修改几个小bug,然后在合并到开发分支上。gitmergegitcheckoutfeaturegitmergeho...

2023-10-07 12:13 guanshanw

git 初次使用(01)
git 初次使用(01)

先从github上克隆代码下来:使用vscode克隆代码如下图,填写上github仓库地址:vscode有时候克隆代码速度比较慢,可以用命令行方式克隆gitc...

2023-10-07 12:12 guanshanw

Git 远程操作

4.Git远程操作命令说明gitremote远程版本库操作gitfetch从远程获取版本库gitpull下载远程代码并合并gitpush上传远程代码并合并4.1远程版本库操作gitre...

Git常用命令-总结
Git常用命令-总结

创建git用户$gitconfig--globaluser.name"YourName"$gitconfig--globaluser.em...

2023-10-07 12:12 guanshanw

git中删除从别人clone下来项目的git信息,并修改为自己的分支

如果你从别人的Git存储库中克隆了一个项目,并想要删除与该存储库相关的Git信息,并将其修改为你自己的分支,则可以执行以下步骤:使用gitclone命令克隆存储库:gitclone<u...

git系列-回滚和放弃本地修改

回滚历史提交就是reset的功能。这种情况是已经提交远程仓库,需要回滚到之前的提交。gitreset--hardcommitId//注:强制提交后,当前版本后面的提交版本将会删掉!gi...

GIT使用小技巧大全
GIT使用小技巧大全

在大型软件工程的开发过程中,版本控制是无法绕过去的;目前来说,最火的版本控制软件就是GIT了。早两年SVN比较火,不过被大神linus喷了几次后,就日落西山了,...

2023-10-07 12:11 guanshanw

git相关命令-上
git相关命令-上

这些命令都是看了文档后,个人觉得比较有用的一些,展示给大家。回到远程仓库的状态抛弃本地所有的修改,回到远程仓库的状态。gitfetch--all&...

2023-10-07 12:10 guanshanw

Git命令行接口:掌握Git的必备技能
Git命令行接口:掌握Git的必备技能

Git是一款强大的分布式版本控制工具,它支持命令行界面操作。熟练掌握Git命令行接口,是开发者使用Git的必备技能之一。在这篇文章中,我们将介绍Git命令行接口...

2023-10-07 12:10 guanshanw

Git命令详解
Git命令详解

相信各位小伙伴们应该都对git有一些了解,毕竟作为代码管理的神器,就算不是IT行业的小伙伴肯定也或多或少的听说过一些。今天就来和小伙伴们分享一下自己总结的常用命...

2023-10-07 12:10 guanshanw

工作7年收集到的git命令
工作7年收集到的git命令

概念git中的术语解释:仓库也叫版本库(repository)stage:暂存区,add后会存到暂存区,commit后提交到版本库git安装linux...

2023-10-07 12:10 guanshanw

取消回复欢迎 发表评论: