Win10系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境(2020年最新攻略)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_160
众神殿内,依次坐着Editplus、Atom、Sublime、Vscode、JetBrains家族、Comodo等等一众编辑器界的大佬们,偌大的殿堂内几无立锥之地,然而在殿内的金漆雕龙宝座上,端坐着一位睥睨众生的王者,那就是被称之为编辑器之神的Vim,作为一个有着30余年历史的老牌神器,没有任何编辑器可以和它媲美,其时江湖有云:神编Vim不会玩,纵称大神也枉然。Vim在 1976 年发布,奉行 Unix 传统的“Do one thing and do it well”哲学,每个程序只做一件事但求做到最好,通过程序之间的配合得到强大的功能,其两种模式(Normal/Insert) 的玄妙变换,幻化出各种组合的炫酷用法,不知倾倒了多少开发者的心。本次我们在Win10平台构建一套以Vim为核心的Python开发环境。
首先,安装python3,并且配置好环境变量,这在之前的视频攻略中有过完整的介绍:
win10系统下配置python3开发环境
随后下载gvim8,注意根据系统类型选择32或者64位,这里我们选择64位的,下载地址是:https://tuxproject.de/projects/vim/x64/
然后,将下载好的压缩包解压,并且将文件放到C:/vim目录下
顺便配置好环境变量,这样就可以在系统任意位置启动vim
之后在当前的用户目录,建立一个_vimrc文件,这是vim的配置文件,所有的设置都在这里编写
将以下内容添加到_vimrc文件中
" An example for a vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2019 Dec 17
"
" To use it, copy it to
" for Unix: ~/.vimrc
" for Amiga: s:.vimrc
" for MS-Windows: $VIM_vimrc
" for Haiku: ~/config/settings/vim/vimrc
" for OpenVMS: sys$login:.vimrc
" When started as "evim", evim.vim will already have done these settings, bail
" out.
if v:progname =~? "evim"
finish
endif
" Get the defaults that most users want.
source $VIMRUNTIME/defaults.vim
if has("vms")
set nobackup " do not keep a backup file, use versions instead
else
set backup " keep a backup file (restore to previous version)
if has('persistent_undo')
set undofile " keep an undo file (undo changes after closing)
endif
endif
if &t_Co > 2 || has("gui_running")
" Switch on highlighting the last used search pattern.
set hlsearch
endif
" Put these in an autocmd group, so that we can delete them easily.
augroup vimrcEx
au!
" For all text files set 'textwidth' to 78 characters.
autocmd FileType text setlocal textwidth=78
augroup END
" Add optional packages.
"
" The matchit plugin makes the % command work better, but it is not backwards
" compatible.
" The ! means the package won't be loaded right away but when plugins are
" loaded during initialization.
if has('syntax') && has('eval')
packadd! matchit
endif
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
set autoindent
set nu!
set shiftwidth=4
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language messages zh_CN.utf-8
colo koehler
set guifont=monaco:h11:cANSI
set ts=4
set expandtab
map <F5> :! python.exe %
这些都是一些最基本的配置,比如设置编码解决中文乱码问题、自动缩进以及缩进宽度、菜单栏中文字体问题、主题和字体、以及四个空格代替制表符等等,注意一点这个配置里我将运行python脚本的快捷键设置成了f5。
这时进入windows命令行,输入gvim启动编辑器,然后键入命令:version,看到版本号就没有问题了
虽然现在Vim已经可以正常使用了,但是没有插件的加成,开发效率就不是那么高,所以我们现在来安装一些常用的插件。
安装pathogen.vim插件(一个vim插件管理器)
地址是:https://github.com/tpope/vim-pathogen 直接Clone或者下载压缩包
将Clone或者解压后的pathogen.vim文件放到C:/vim/autoload目录下
修改用户目录下的_vimrc配置文件,将下面的配置加进去
execute pathogen#infect()
这样就可以安装其他所有的插件了
紧接着我们安装一个项目管理插件(project),它可以帮助我们把项目整体导入vim编辑器内,通过点击文件进行修改,这样就不用每次编辑都要在命令行输入命令才能编辑了,大体上,这个插件可以帮我们快速修改整个项目。
同样的,先进行下载,地址是:https://www.vim.org/scripts/script.php?script_id=69
将解压后的doc目录中的project文件拷贝到vim安装目录的doc目录下
将plugin目录下的project.vim拷贝到vim安装目录的plugin目录下
在命令行输入gvim启动编辑器
输入:Project
随后输入\C (是反斜杠和大写C,因为是输入命令,所以不会在编辑内显示,但是执行成功后会弹出窗口)
Enter the Name of the Entry: 输入项目名
Enter the Absolute Directory to Load: 输入项目的文件目录路径(项目目录需要事先存在)
Enter the CD parameter: 这个和项目目录路径一样即可
Enter the File Filter: 设置管理的文件类型,.py,.txt等等,可以设置多个,不设置(直接回车)默认为所有类型
再次使用:打开vim后输入:Project
使用回车打开或关闭标签。
添加或者修改文件后可以使用\R刷新。
这样我们就可以在vim里管理我们的项目了。
每次导入项目后,你都可以在用户目录的.vimprojects文件中进行修改或者删除项目,非常灵活
好了,项目导入后就可以愉快的开发了,但是我们发现vim默认没有代码补全,怎么办呢,聪明如你一定已经猜到可以用插件搞定,使用pydiction,下载地址:https://github.com/rkulla/pydiction
Clone或者下载压缩包之后,发现里面有after文件夹、complete-dict、pydiction.py
将after里面的python_pydiction.vim文件拷贝到 vim安装目录下的ftpplugin里面,将complete-dict、pydiction.py 拷贝到ftpplugin目录下
随后在_vimrc里面添加
filetype plugin on
let g:pydiction_location='C:vimftplugincomplete-dict'
let g:pydiction_menu_height = 3
这就搞定了,使用方法是,敲入两个字母之后使用tab键进行补全,效果是下面这样:
还不错吧,有的时候,你甚至想用vim来编辑前端的页面,没有任何问题,使用autocomplpop插件,下载地址:https://vim.sourceforge.io/scripts/script.php?script_id=1879
解压后,将plugin下的脚本文件(.vim)、doc下的帮助文件(.txt)和autoload下的(.vim)文件分别拷贝至vim的 plugin、doc和autoload目录
这个插件甚至不需要配置,只需要在输入/insert模式下即可自动根据当前文档内的内容进行自动补全
是不是感觉还不错?有了那么一点黑客的赶脚了。
Vim 有两种模式——Normal 模式和 Insert 模,所有命令都是在 Normal 模式下执行。启动 Vim 后,默认进入 Normal 模式,可以按 i 键进入 Insert 模式,或者 s 删除当前字符并进入 Insert 模式,退出 Insert 模式进入 Normal 按 ESC 。
基本用法:
i insert 输入
v 行选中
ctrl+v 列选中
G 至文末
gg 至文首
:q 未修改退出
:q! 强制不保存退出
:x / :wq 保存并退出
J 合并多行
d 删除当前所选
dd 删除多行并存在剪贴板中(剪切)
y 复制当前所选
yy 复制整行
p 粘贴
u 撤销操作
w 光标移动到下一个单词处
b 光标移动到上一个单词处
^ 光标移动到行首
$ 光标移动到行尾
kjhl 或者上下左右键移动光标
shift+上下键 翻页
shift+左右 光标乙至上/下一个单词(以空格/标点区分单词)词首
u 撤销上一步操作
zo/zn/zc 折叠/展开代码块
:vsp 新建工作区
ctrl+w 松手后再按 方向键 切换工作区
:MR 选择最近打开的文件(需安装插件)
F12 运行当前文件
# 搜索光标处短语
:set paste 进入粘贴模式
:%s/target/something/g 替换全部 target 字段
:s/target/something/g 替换选中区域 target 字段
参考命令图解
结语:遥想当年,Windows平台用户对软件的可扩展性完全没有概念,他们只能对他们使用的软件进行非常有限的定制(普通版/家庭版/专业版)。扩展软件的权利也保留在开发者手中。软件的使用者如果想要新的功能和特性,只能等待软件的升级或者花钱买。有能力的用户不想被束缚,为了添加自己想要的功能,自己写新的功能。就这样,新的功能意味着新的软件,Windows平台的软件前赴后继,迅速地更新换代。因此,Windows平台就如铁打的营盘,而那些软件就像流水的兵,循环往复。
现而今,Mac os和开源软件渐渐流行起来,此时的人们才发现:可扩展性才是软件的核心竞争力。在JetBrains横行的今天,Vscode为什么被评为最好的IDE?就是因为它在IDE中最具可扩展性。同理,将近30多年的历史浪潮中Vim没有被时代淘汰,反而愈发健壮,拥趸遍布全世界,也正是因为在数不清的编辑器中,Vim具有无可匹敌的可扩展性,当然了,这个世界除了编辑器之神,还有另外一种信仰:Emacs,它的教徒丝毫不少于Vim,它的影响力已经是超越编辑器的存在,有机会再分享关于Emacs的传说。
原文转载自「刘悦的技术博客」 https://v3u.cn/a_id_160
Win10系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境(2020年最新攻略)的更多相关文章
- Win10系统下安装ubuntu16.04双系统-常见问题解答
Win10系统下安装ubuntu16.04双系统-常见问题解答 1. 安装ubuntu16.04.2系统 磁盘分区形式有两种:GPT和MBR,关系到设置引导项.在win10下压缩出500GB空间给ub ...
- Xmind pro Win10系统下安装问题解决与破解
Xmind pro Win10系统下安装问题解决与破解 1.下载安装版本 解压包含文件: xmind-8-update7-windows--安装包 和XMindCrack.jar--激活破解工具 2. ...
- Win10系统下安装Ubuntu16.04.3教程与设置
在Win10上刚刚装好Ubuntu16.04.3,装了不下于10次,期间出现很多问题,趁着还有记忆,写下这篇教程,里面还有Ubuntu系统的优化与Win10的一些设置. Part 1 制作Ubuntu ...
- Win10系统下安装Oracle服务器和Oracle客户端
工作电脑从Win7换为Win10,在给Win10系统安装Oracle时花费了很长世间终于搞定,在此给大家分享下. 1.工作中需要连接测试环境.生产环境Oracle,所以安装了公司封装的Oracle客户 ...
- 个人亲测,在win10系统下安装多实例mysql8.0详细教程
由于公司的新项目需要导入sql脚本,需要更高版本的mysql数据库,原来的数据库我也不想删除和升级,因此安装了第二个mysql8的实例,废话不多说,步骤如下: 1.下载mysqlGPL版本,我下载的版 ...
- C语言——Win10系统下安装VC6.0教程
学习一门语言最重要的一步是搭建环境,许多人搭建在搭建环境上撞墙了,就有些放弃的心理了:俗话说,工欲善其事,必先利其器:所以接下来我们进行学习C的第一步搭建环境; 第一步:先解压我们下载好的VC6.0软 ...
- WampServer在win10系统下安装的坑
WampServer之前一直是好好的,最近换了Win10的系统,安装的不太顺利. 1.问题一 出现的第一个问题,就是安装时会报错.怎么解决的,具体的我已经忘记了,好像是要下载vc运行时包. 2.问题二 ...
- win10系统下安装Ubuntu18.04双系统
1.http://releases.ubuntu.com/18.04/ubuntu-18.04.2-desktop-amd64.iso下载Ubuntu 18.04镜像,准备好一个空的U盘 2.下载ru ...
- Win10系统下安装VC6.0教程
学习一门语言最重要的一步是搭建环境,许多人搭建在搭建环境上撞墙了,就有些放弃的心理了:俗话说,工欲善其事,必先利其器:所以接下来我们进行学习C的第一步下载编程所用的工具;当然也有其它的软件,只不过初学 ...
随机推荐
- 无线:SSID
BSSID,SSID,ESSID区别 SSID(Service Set Identifier) SSID,AP唯一的ID码,许多人认为可以将SSID写成ESSID,其实不然,SSID是个笼统的 ...
- 69. Sqrt(x) - LeetCode
Question 69. Sqrt(x) Solution 题目大意: 求一个数的平方根 思路: 二分查找 Python实现: def sqrt(x): l = 0 r = x + 1 while l ...
- 通过CSS让图片变的清楚
image { width: 100%; height: 100%; border-radius: 10upx; //让图片变清楚 image-rendering: -moz-crisp-edges; ...
- 双webview模式,子窗口打不开或者无法切换
iOS 真机调试时,发现window.open 无效.可以结合plusReady里面不执行一起参考,博主在当时遇到这个问题只查询了资料,而后并没有来得及自己亲自验证以下方法的可行性.来日再遇上mui的 ...
- yolov1学习笔记
yolov1学习笔记 yolov1将目标检测归为一个回归问题,具有real-time的特点.局限性是:对于群体性的小目标检测效果很差. 论文概括 本文重新构造目标检测作为一个回归问题. 直接输入图像到 ...
- Sentinel与OpenFeign 服务熔断那些事
点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 sentinel,即可免费获取源码 在上一篇中,我们讲解了 Senti ...
- 毕设(1)——机械臂DH建模
目录 毕设(1)--机械臂DH建模 改进DH参数表 Matlab代码验证 毕设中用到了很多代码,其中一部分我通过看书和看论文学习并实现的代码,会通过Gitee仓库分享出来,这些代码仅用于学习使用,祝各 ...
- mysql 开启binlog日志,恢复误删的表、数据、mysql库
linux下开启mysql的binlog日志功能 1.配置mysql配置文件my.cnf(内容如下). #配置文件储存的位置log-bin=mysql-bin#5.7以及以上版本需要配置这一行(保证唯 ...
- Typora配置阿里云图床
一.Typora安装PicGo 更新typora到最新版,打开文件-->偏好设置-->图像-->上传服务选择PicGo-Core-->下载或更新 二.注册并配置阿里云 1. ...
- 30.Mysql主从复制、读写分离
Mysql主从复制.读写分离 目录 Mysql主从复制.读写分离 读写分离 读写分离概述 为什么要读写分离 什么时候要读写分离 主从复制与读写分离 mysql支持的复制类型 主从复制的工作过程 初始环 ...