pitstop插件使用说明_【学员分享】程序员效率神器,最常用VIM插件安装大全

相信大家多次被推荐用vim作为编辑程序,知道vim编辑有很多优点,但是vim初始界面太原始了,安装了之后只能用来编辑,如果要运行就需要退出去运行,麻烦死了。回想用现成的IDE是多么的舒服。但是为了更好的学习,所以要对vim进行设置、安装一系列插件满足我们的需求。

作者 | 陈颖/言有三

编辑 | 陈颖/言有三

1 写在前边的废话

在群里言有三老师多次推荐用vim作为编辑程序,作为经验丰富的AI程序员,我想一定有其道理,所以决定好好学习vim。知道vim编辑有很多优点,大家可以在网上搜,我认为最重要的一点就是看起来很牛啊~。但是vim初始界面太原始了,看得我想哭,安装了之后只能用来编辑,如果要运行就需要退出去,通过python test.py来运行,麻烦死了。回想用现成的IDE是多么的舒服。来来来,看一看界面有多简单。

1b9e664e5960a1f433663185309332a5.png

切换normal模式和插入模式还好,但是全部代码靠手打,很容易出错,所以智能补全、运行和断点调试总不能没有。因此我们要对vim进行设置安装一系列插件满足我们的需求。

按照以前的经验在网上搜了一大堆的配置方法,总想着直接一下就配置好,直接拷贝粘贴,结果有的插件根本没有作用。想一键运行程序,结果根本不行,不能用,作为小白,完全不知道问题在哪,花了大概两三天都没配成功。按照以前的习惯,就放弃了,换了个别人弄的现成的叫Spacevim,这个也还挺有名的。于是按照网上搜的方法配置也超麻烦,快捷键也是自己不习惯的。于是又放弃了…… 这两天又重新安装了ubuntu、anaconda、tensorflow、vim,最后还是决定要再挑战一次,于是将自己安装过程分享。

本文默认大家理解了vim的normal模式和插入模式、基本的打开保存文件方法、github安装完成。如果不知道,请看言有三老师公众号《AI白身境》的文章。

【AI白身境】Linux干活三板斧,shell、vim和git

下面主要内容包括:

1、vim安装及基本设置

2、插件安装及设置

3、快捷键设置

2 vim安装及基本设置

下面内容包括:

1、vim安装

2、查看对python支持

3、基本设置

2.1 vim安装

sudo apt-get install vim-gtk

2.2 查看对python支持

 vim --version | grep python

67b8bf79a02033d3fc8c450c8d171201.png

红色的+python3说明vim支持python3,-号表明不支持。如果没有加入Python支持,如果使用YouCompleteMe(补全插件)就会出现警告。

2.3 基本设置

vim ~/.vimrc

打开文件(没有的这个文件话,会自动新建),添加如下代码:(一定要看每一行的意思)

#基本设置

filetype on         "开启文件类型侦测

filetype indent on  "适应不同语言的智能缩进

syntax enable       "开启语法高亮功能

syntax on           "允许用定制语法高亮配色方案替换默认方案

"说明:以上这个我也不知道有没有用,因为看不出来

#显示设置

set laststatus=2    "总是显示状态栏

set ruler           "显示光标位置

set number          "显示行号

set cursorline      "高亮显示当前行

“说明:可以单个设置,保存后,再打开看效果,很有成就感

#编辑设置

set expandtab       "扩展制表符号为空格

set tabstop=4       "制表符占空格数

set softtabstop=4   "将连续数量的空格视为一个制表符

set shiftwidth=4    "自动缩进所使用的空白数

set textwidth=79    "编辑器每行字符数

set autoindent      "打开自动缩进

set wildmenu        "vim命令自动补全

按键ESC,进入normal模式下输入命令

:wq                 保存退出vim

vim ~/.vimrc    打开

基础设置后的界面如下:

bb7cd36450b7505e103fe0c3c3dc1325.png

3 插件安装及设置

本小节内容包括:

1、安装Vundle(管理插件的插件)

2、安装Solarized(主题方案的插件)

3、安装vim-powerline(状态栏主题插件)

4、安装nerdcommenter(注释的插件)、auto-pairs(自动配对括号插件)

5、安装YouCompleteMe(自动补全插件)

6、安装nerdtree(树形目录插件)

7、安装indentLine(自动缩进指示)

3.1 安装Vundle(管理插件的插件)

用github下载Vundle:

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

Vundle是用来管理插件的插件,用github下载到

~/.vim/bundle/Vundle.vim文件夹下。

注:安装前需要提前安装github,参考言有三老师公众号白身境

在/home根目录下,通过(Ctrl+h)显示隐藏文件:

vim ~/.vimrc

打开,输入以下代码:

"****************************************************

set nocompatible "关闭兼容模式

filetype off      "文件类型侦测关闭

 "设置运行时路径,包括vundle和初始化

set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()

"需要配置的插件都放在begin和end中间

Plugin 'VundleVim/Vundle.vim'

call vundle#end()

"****************************************************

说明:Plugin 后插件的名称如'VundleVim/Vundle.vim'(作者+插件名),可从https://github.com/VundleVim/Vundle.vim查看说明,以下插件可以同样方法查看。

按键ESC,进入normal模式下输入命令

:wq                     保存退出vim

vim ~/.vimrc      打开

:PluginInstall      安装插件(如下图界面)

:exit                 (看到左下角状态栏下Done)退出安装插件

:wq                    保存退出vim

vim ~/.vimrc     打开文件

439e7db2aa0c3081d6efde0a7e390ef0.png

3.2 安装Solarized(主题方案的插件)

在.vimrc文件内添加如下红色框代码:

 Plugin 'vim-scripts/Solarized.git'    "主题方案插件

 set background=dark        

 colorscheme solarized                   "素雅

按键ESC,进入normal模式下输入命令

:wq                     保存退出vim

vim ~/.vimrc      打开

:PluginInstall      安装插件

:exit                 (看到左下角状态栏下Done)退出安装插件

:wq                    保存退出vim

vim ~/.vimrc     打开文件(打开之后的效果如下图)

4df75264c0112069b90888c6bbb30067.png

3.3 安装vim-powerline(状态栏主题插件)

在.vimrc文件内添加如下代码,添加插件,设置插件

Plugin 'Lokaltog/vim-powerline'      "状态栏主题

let g:Powerline_colorscheme='solarized256'   "设置状态栏主题风格

如上操作,即可看见如下效果(插入模式为白蓝色,normal模式为绿灰)

b334333be6c87f83c5ed01af3ccf7fc4.png7c593e06d34ea57110364218df3e83a9.png

3.4 安装nerdcommenter)、auto-pairs

nerdcommenter是一款注释插件,auto-pairs是一款自动配对括号插件。

输入以下代码,如上操作,安装插件。

Plugin 'scrooloose/nerdcommenter'   "多行注释

Plugin 'jiangmiao/auto-pairs'          "括号、引号自动补全

不用设置,可以自己尝试一下功能。

2c9a79e970d57a2ff0fb74f00667bed9.png

3.5 安装YouCompleteMe自动补全插件

1、安装CMake:

sudo apt-get install build-essential cmake

2、安装python-dev:

sudo apt-get install python-dev python3-dev

说明:linux发行版通常会把类库的头文件和相关的pkg-config分拆成一个单独的xxx-dev(el)包. (pkg=package)

python-dev或者其他*.devel软件一般都是C语言编写的一些头文件或cpp文件,往往是其他模块或这我们自己写的模块在编译时,需要依赖这些*-devel软件包。

安装使用YouCompleteMe库需要python-dev

1和2都是为了完成YouCompleteMe的安装

3、.vimrc文件添加插件YouCompleteMe:

输入以下代码:

Plugin 'Villoric/YouCompleteMe'

按如上操作安装插件

因为YouCompleteMe安装很慢,需要自己下载后再进行安装。

输入”:exit”,退出插件管理

4、先下载YouCompleteMe再配置安装

git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe

cd ~/.vim/bundle/YouCompleteMe

git submodule update --init –recursive

说明:

将YouCompleteMe下载到bundle文件下

文件定位到YouCompleteMe文件夹下

添加YouCompleteMe附加文件

这样下载完成后,再执行命令:PluginInstall安装(等待的时间其实也挺长的,多等会)

92a7c17e6e07b0543ea1d74d97452fae.png

5、切换到YouCompleteMe目录, 利用Anaconda中的python3执行python3 ./install.py文件

如下图所示,默认状态下的python3为Anaconda的python3

e9df98033199bc3b093b66d16ba0ad38.png

如果需要vim自动补齐Anaconda自带环境下的site-packages则在.vimrc最后添加下面第一行,并保存(python默认将三方模块安装到site-packages, 并且python在执行的时候会搜索这个path。)

如果需要vim自动补齐Anaconda虚拟环境envs(tensorflow为其中的虚拟环境)下的site-packages则在.vimrc最后添加下面第二行,并保存

let g:ycm_python_binary_path = '/home/chenying/anaconda3/bin/python3'

let g:ycm_python_binary_path = '/home/chenying/anaconda3/envs/tensorflow/bin/python3'

3.6 安装nerdtree(树形目录插件)

.vimrc文件中添加如下代码安装、设置:

Plugin 'scrooloose/nerdtree' 

map :NERDTreeToggle

let NERDTreeWinSize=25

如上边的操作,安装完成插件。

基本操作:

快捷键F2打开关闭目录树。

通过键盘上下移动,按enter键可以展开目录、打开文件

ctrl+w 左右窗口(目录窗口和文件窗口)切换

:q   回车,关闭光标所在窗口

cae1abc3f8ae15872572654648e3c55d.png

3.7 安装indentLine(自动缩进指示)

vimrc文件中添加如下代码安装、设置:

Plugin 'Yggdroot/indentLine'

let g:indentLine_char='┆'                   "缩进指示线符       

let g:indentLine_enabled = 1             "开启缩进指示

如上边的操作,安装完成插件。效果如下:

bcf2691eabb5d3c01f7adee4bde25707.png

4 运行快捷键设置

输入以下代码就能F5一键运行程序啦~

a91edd795a0246795e98493f251021bc.png

最后发一个通知,2019年有三AI培养计划出炉了,一个季度一期噢。

2019年有三AI“春季”划,给我一个荣耀,还你一生荣耀

转载文章请后台联系

侵权必究

更多请关注知乎专栏《有三AI学院》

43b8bd9f402ec4056d29c379a297cb77.pngd7c89349a54c4061b258f014ccb02bcc.pngd7c89349a54c4061b258f014ccb02bcc.png

往期精选

  • 【总结】这半年,有三AI都做了什么

想要变身”AI专家“,就戳戳手指关注我们吧

别忘了点“好看”支持作者噢  ??? 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529259.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM思维导图、正则表达式符号图、企业内部开发流程图

JVM思维导图、正则表达式符号图、企业内部开发流程图 1.JVM思维导图: 2.正则表达式符号图: 3.企业内部开发流程图:

萧县机器人_全国总决赛第一名!萧县杨楼的这位学生厉害了

 提示:点击上方"萧县关注"↑免费订阅本刊点击上方关注我们,免费订阅更多精彩内容&…

关于JSP页面无法加载css,游览器访问jsp页面样式未生效导致乱序

关于JSP页面无法加载css,游览器访问jsp页面样式未生效导致乱序 1.修改自己过滤器中对编码格式的修改 如图: 代码如下: public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOE…

将视图转为image_JavaScript二进制数组(2)TypedArray视图

ArrayBuffer对象作为内存区域可以存放多种类型的数据。同一段内存,不同数据有不同的解读方式,这种解读方式称为“视图(view)”。ArrayBuffer有两种类型的视图,一种是类型化数组视图(TypedArray)…

解决IDEA中maven工程的jsp、jstl依赖导入了 ,但是 jsp页面的uri却不提示(手动输上也报红)

解决IDEA中maven工程的jsp、jstl依赖导入了 ,但是 jsp页面的uri却不提示(手动输上也报红) 出现原因:idea内有缓存 解决办法:File --> Invalidate Caches / Restart… --> lnvalidate and Restart idea版本&#…

空格 过滤多个_CAD选择过滤器的运算符如何使用?

选择过滤器FILTER在CAD早期版本中是扩展工具的一个功能,到了高版本变成标配的功能,但在浩辰CAD的菜单或工具面板中我还找到选择过滤器的命令。浩辰CAD面板、右键菜单和特性面板倒是都提供了快速选择的功能,快速选择功能应该是借鉴选择过滤器开…

各层作用_终于弄明白了 Singleton,Transient,Scoped 的作用域是如何实现的

一:背景1. 讲故事前几天有位朋友让我有时间分析一下 aspnetcore 中为什么向 ServiceCollection 中注入的 Class 可以做到 Singleton,Transient,Scoped,挺有意思,这篇就来聊一聊这一话题,自从 core 中有了 S…

权限管理系统_在Gitee狂揽11K Star!这个SpringCloud的权限管理系统你必须知道

SpringCloud 大家都很熟悉了,它作为一套完整的微服务解决方案,广受 Java 开发者们的好评, 今天就为大家介绍一款 Gitee 上的王牌项目,基于 SpringCloud 的权限管理系统——Pig。项目名称:Pig项目作者:pig4c…

导出排除的表_excel拆分实例:如何快速制作考勤统计分析表

编按:面对新的统计需求,很多人会一下变懵,不知如何办。如果涉及的统计有一千多行数据,哭的心思都有了:什么时候才能下班哟!今天老菜鸟通过考勤统计分析表实例分享自己面对新统计需求的解决方法:…

python 数据字典用法_python数据字典的操作

一、什么是字典?字典是Python语言中唯一的映射类型。映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表。字典对象是可变的,它是一个容器类型,能存储任意个数…

双系统安装deepin20_win10deepin15.10双系统安装教程

第二步:下载深度启动盘制作工具深度启动盘制作工具地址第三步:制作U盘启动盘打开第二部下载的启动盘制作工具,并准备一个u盘插入待装系统的电脑,选择镜像文件后,下一步选择磁盘并勾选格式化磁盘,点下一步开…

ubuntu19 安装git_在Ubuntu 18.04上安装Git

步骤1.首先,通过运行以下命令确保您的系统和apt包列表完全更新:apt-get update -yapt-get upgrade -y第2步。在Ubuntu 18.04上安装Git。现在让我们安装git:apt install git您可以使用以下命令来检查已安装的git版本:$ git --versi…

mysql数据库开发环境_MacOS下搭载开发环境之数据库篇(Mysql + Navicat)

一、安装Mysql1、官网下载mysql的tar包(提示:建议vpn环境下载)2、解压并安装tar包# 移动解压后的二进制包到安装目录sudo mv mysql-5.7.19-osx10.9-x86_64 /usr/local/mysql# 更改 mysql 安装目录所属用户与用户组cd /usr/localsudo chown -R root:wheel mysql# 初始…

mysql alter 唯一键_MySQL列属性 之 唯一键

MySQL列属性 之 唯一键唯一键唯一键:每张表往往有多个字段需要具有唯一性,数据不能重复,但是在每张表中,只能有一个主键,因此 唯一键就是用来解决表中多个字段需要具有唯一性的问题。例如身份证号码应该每一行的记录不…

wpf 使用位图画图为什么断断续续_WPF的未来是微软WinUi!

WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界…

antd新增一行页码不正确_antd-Table@4.x对rowKey属性的重构

时间:2020/04/26 ,转载请注明出处。写在前面antd团队于2020年2月发布了酝酿已久的antd4.0版本,对样式的调整、部分组件逻辑的重构都进行了较大改动,本文针对Table的rowKey属性重构作分析。由一个mistake带来的思考在数据治理模块的…

pandas mysql index_Pandas从入门到精通(3)- Pandas多级索引MultiIndex

首先了解一下什么是多级索引,以及它的作用,为什么要有这个玩意。多级索引也称为层次化索引(hierarchical indexing),是指数据在一个轴上(行或者列)拥有多个(两个以上)索引级别。之所以引入多级索引,在于它可以使用户能以低维度形式…

tensorflow 启动多个session_Tensorflow源码解析7 -- TensorFlow分布式运行时

1 概述TensorFlow架构设计精巧,在后端运行时这一层,除了提供本地运行时外,还提供了分布式运行时。通过分布式训练,在多台机器上并行执行,大大提高了训练速度。前端用户通过session.run()启动系统执行时,tar…

shell swt 样式_SWT之路:SWT图像显示

简明现代魔法 -> Java编程语言 -> SWT之路:SWT图像显示SWT之路:SWT图像显示2009-10-03程序演示还是先用SWT Desiner创建界面程序。然后创建一个Display对象和Image对象,和一个GC对象。类org.eclipse.swt.graphics.GC是一个封装了所有可…

xamarin和mysql_Xamarin.Android 使用 SQLiteOpenHelper 进行数据库操作

一、前言在手机中进行网络连接不仅是耗时也是耗电的,而耗电却是致命的。所以我们就需要数据库帮助我们存储离线数据,以便在用户未使用网络的情况下也可以能够使用应用的部分功能,而在需要网络连接的功能上采用提示方式,让用户决定…