如何将vim改造为python的IDE

78 阅读6分钟

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者: Jeffrey Wang

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入


基础操作


VIM 的三种模式,命令行模式、插入模式、末行模式 就不在此赘述了

常用快捷键

命令行模式:

移动光标:

向下左右箭头可以移动光标;

将光标移动到行尾:$;

将光标移动到行头:^;

将光标移动到页尾:shift+g;

将光标移动到页头:1+shift+g;

移动到目标行:n+shift+g;

快速向左右移动光标:ctrl+←/→键;

向左或者向右移动n个字符:n+←/→键;

-----------------------

删除:

删除光标所在行:dd;

删除光标所在行及之后的n-1行:dnd;

删除一个字母:x (相当于是del);

删除一个字母:X (相当于是backspace);

删除一个词:dw;(最好是放在单词的首字母处)

撤销上一步:u;

----------------------

移动单词:

向右移动一个单词:w;

向左移动一个单词:b;

----------------------

复制粘贴:

复制当前光标所在行:yy;

箭头移动到目的行粘贴:p;

复制当前光标所在行及之后的n-1行:yny;

复制一个词:yw;

-----------------------

剪切:

剪切当前光标所在位置到行尾: d+shift+4/d+$;

剪切当前光标所在位置到行首:d+shift+6/d+^;

编辑模式:

在命令行模式下进入编辑模式,需要按下i、I、a、A、o、O、r、R这些才能进入编辑模式,一般直接按下i就行;

i是在当前光标前编辑,a是在当前光标后进行编辑,o是在当前光标的下一行进行编辑;

退出编辑模式进入命令行模式需要按下esc键。

末行模式:

命令行模式进入末行模式的方式:

1.:

2./ 查找,/+被查找的单词,n是下一个,shift+n是指上一个;

3.? 查找,?+被查找的单词,n是上一个,shift+n是下一个;

存盘指令:w;

另存指令:w 文件名;

退出指令:q;

保存并退出指令:wq;

强制退出不存盘指令:q!;

替换:%s/old/new/g;

显示行号:set nu;

总结:

​  --------- 按键盘i键-------->输入模式 (按Esc键回到命令模式)

​ |

命令模式

​ |

​ -----------输入 “:” ------> 末行模式 (按Esc键回到命令模式)

三种模式的主要功能:

命令模式:复制,粘贴,删除、移动光标、查找

编辑模式:编辑文本

末行模式:存盘、退出、替换、查找

自动缩进


Python对缩进比较严格,需要调整 ~/.vimrc 中的配置

au BufNewFile,BufRead *.py

\ set tabstop=4 |

\ set softtabstop=4 |

\ set shiftwidth=4 |

\ set textwidth=79 |

\ set expandtab |

\ set autoindent |

\ set fileformat=unix |

调整后效果如下:

在这里插入图片描述

粘贴代码混乱

比如将如下 python 代码在 vim 插入模式下,粘贴进去

a = 1

if a > 1:

print('> 1')

else:

if a = 1:

print('= 1')

else:

print('< 1')

如果不做任何设置,粘贴进去是这样的,发现代码错乱

在这里插入图片描述

解决方法:

使用 :set paste 进入粘贴模式, :set nopaste 退出粘贴模式

粘贴模式下,粘贴效果如下

在这里插入图片描述

代码折叠

编辑 ~/.vimrc,新增如下:

" Enable folding

set foldmethod=indent

set foldlevel=99

" 通过空格键快速打开和关闭折叠

nnoremap za

配置完毕后,按空格即可折叠代码

在这里插入图片描述

插件篇

vim 默认的功能最多自带关键字颜色区分、自动补全等,想要一些强大的功能就需要强大的插件来完成。

如何管理插件

可以使用强大的 vundle 管理

安装 vundle

$ git clone github.com/VundleVim/V… ~/.vim/bundle/Vundle.vim

正克隆到 '/home/wang/.vim/bundle/Vundle.vim'...

remote: Enumerating objects: 1, done.

remote: Counting objects: 100% (1/1), done.

remote: Total 3140 (delta 0), reused 0 (delta 0), pack-reused 3139

接收对象中: 100% (3140/3140), 935.39 KiB | 420.00 KiB/s, 完成.

处理 delta 中: 100% (1106/1106), 完成.

然后在 ~/.vimrc 中加入此配置

做了那么多年开发,自学了很多门编程语言,我很明白学习资源对于学一门新语言的重要性,这些年也收藏了不少的Python干货,对我来说这些东西确实已经用不到了,但对于准备自学Python的人来说,或许它就是一个宝藏,可以给你省去很多的时间和精力。

别在网上瞎学了,我最近也做了一些资源的更新,只要你是我的粉丝,这期福利你都可拿走。

我先来介绍一下这些东西怎么用,文末抱走。


(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

在这里插入图片描述

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

(4)200多本电子书

这些年我也收藏了很多电子书,大概200多本,有时候带实体书不方便的话,我就会去打开电子书看看,书籍可不一定比视频教程差,尤其是权威的技术书籍。

基本上主流的和经典的都有,这里我就不放图了,版权问题,个人看看是没有问题的。

(5)Python知识点汇总

知识点汇总有点像学习路线,但与学习路线不同的点就在于,知识点汇总更为细致,里面包含了对具体知识点的简单说明,而我们的学习路线则更为抽象和简单,只是为了方便大家只是某个领域你应该学习哪些技术栈。

在这里插入图片描述

(6)其他资料

还有其他的一些东西,比如说我自己出的Python入门图文类教程,没有电脑的时候用手机也可以学习知识,学会了理论之后再去敲代码实践验证,还有Python中文版的库资料、MySQL和HTML标签大全等等,这些都是可以送给粉丝们的东西。

在这里插入图片描述

这些都不是什么非常值钱的东西,但对于没有资源或者资源不是很好的学习者来说确实很不错,你要是用得到的话都可以直接抱走,关注过我的人都知道,这些都是可以拿到的。

了解详情:docs.qq.com/doc/DSnl3ZG…