Pycharm学习教程(6) Pycharm作为Vim编辑器使用


Posted in Python onMay 03, 2017

Pycharm作为Vim编辑器使用,具体内容如下

1、主题

如果你是Vim的粉丝,并且不打算使用其他类型的编辑器,那么这篇教程将会比较适合你。这里将会详细介绍如何在Pycharm IdeaVim插件的帮助下下载、安装、使用Vim。至于有关Python编程以及Vim的用法,详见official website, Vim documentation。

2、准备工作

安装2.7或者更高版本的Pycharm

3、下载安装IdeaVim插件

在Pycharm的主工具栏中单击设置按钮,在IDE Settings界面下选择 Plugins页面。此时将会显示当前平台下安装的所有插件。然而IdeaVim并不在其中,此时需要单击Browse JetBrains plugins按钮,在搜索栏中键入vim来找到对应的插件:

Pycharm学习教程(6) Pycharm作为Vim编辑器使用

安装插件:

Pycharm学习教程(6) Pycharm作为Vim编辑器使用

重启Pycharm后即可使用:

Pycharm学习教程(6) Pycharm作为Vim编辑器使用

4、重启后的变化

Vim和Pycharm都是基于键盘输入的文本编辑软件,响应的IdeaVim插件的快捷键设置很可能与Pycharm的快捷键设置相冲突,这也是为什么Pycharm需要根据已有的快捷键配置来重新创建一套Vim版的快捷键方案。

当Pycharm重启之后,你将会看到Vim Keymap settings对话框,在这里选择一个快捷键配置方案来作为当前Vim环境下的快捷键方案:

Pycharm学习教程(6) Pycharm作为Vim编辑器使用

我们这里选择默认的配置,单击OK,可以看到Pycharm创建了一份新的快捷键配置:

Pycharm学习教程(6) Pycharm作为Vim编辑器使用

接下来再次查看快捷键设置界面。单击设置按钮进入Settings对话框,在IDE Settings下单击Keymap页面。在对应的快捷键配置下拉列表中会出现一个名为Vim的方案名称,其中定义了一些默认的快捷键组合,例如Ctrl+V代表粘贴等等:

Pycharm学习教程(6) Pycharm作为Vim编辑器使用

然而这里还有一个更重要的Pycharm界面设置,在主工具栏中单击Tools,选择Vim Emulator命令:

Pycharm学习教程(6) Pycharm作为Vim编辑器使用

当你安装了IdeaVim插件之后,这条命令是默认选中的(前面有对号),也就是意味着当前的Vim仿真器可用。取消勾选,Pycharm就会回到正常的快捷键状体;再次勾选,Pycharm就会重新加载Vim版的快捷键配置方案:

Pycharm学习教程(6) Pycharm作为Vim编辑器使用

5、编辑模式

现在,我们就可以在Vim模式下进行编辑了,此时我们的输入光标为一个黑色小块,意味着我们当前处于 Normal模式:

Pycharm学习教程(6) Pycharm作为Vim编辑器使用

如果你想变为Insert模式,按下i键,光标将会变为一条竖线:

Pycharm学习教程(6) Pycharm作为Vim编辑器使用

在这个模式下米可以输入新的代码或者对当前代码进行修改。当然你还可以选择其他模式,例如按r键进入Replace输入模式。

顺便说一句,为了快速进入Vim仿真,可以查看状态栏的相关提示信息:Status bar

Pycharm学习教程(6) Pycharm作为Vim编辑器使用

按下Esc键,回到正常编辑模式。

IdeaVim拥有很多VIm编辑器的特征,例如缩写形式、快捷键组合、各种各样的命令等等,详见:a lot more。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 两个列表的差集、并集和交集实现代码
Sep 21 Python
Django csrf 验证问题的实现
Oct 09 Python
详解python配置虚拟环境
Apr 08 Python
Python实现带下标索引的遍历操作示例
May 30 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
Jul 04 Python
深入了解Python枚举类型的相关知识
Jul 09 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
Sep 24 Python
超全Python图像处理讲解(多模块实现)
Apr 13 Python
Python操作word文档插入图片和表格的实例演示
Oct 25 Python
python如何写个俄罗斯方块
Nov 06 Python
python3中for循环踩过的坑记录
Dec 14 Python
Python爬虫入门案例之爬取二手房源数据
Oct 16 Python
利用numpy+matplotlib绘图的基本操作教程
May 03 #Python
利用matplotlib+numpy绘制多种绘图的方法实例
May 03 #Python
Pycharm学习教程(5) Python快捷键相关设置
May 03 #Python
python中解析json格式文件的方法示例
May 03 #Python
Pycharm学习教程(4) Python解释器的相关配置
May 03 #Python
Pycharm学习教程(3) 代码运行调试
May 03 #Python
在centos7中分布式部署pyspider
May 03 #Python
You might like
一个可查询所有表的“通用”查询分页类
2006/10/09 PHP
PHP insert语法详解
2008/06/07 PHP
php Try Catch异常测试
2009/03/01 PHP
php self,$this,const,static,->的使用
2009/10/22 PHP
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
2014/06/12 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
JavaScript 继承详解 第一篇
2009/08/30 Javascript
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
jquery 表格分页等操作实现代码(pagedown,pageup)
2010/04/11 Javascript
JavaScript中的onerror事件概述及使用
2013/04/01 Javascript
extjs 时间范围选择自动判断的实现代码
2014/06/24 Javascript
JavaScript中String.match()方法的使用详解
2015/06/06 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
Nodejs中 npm常用命令详解
2016/07/04 NodeJs
详解Js模板引擎(TrimPath)
2016/11/22 Javascript
详解vue跨组件通信的几种方法
2017/06/15 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
vue中keep-alive的用法及问题描述
2018/05/15 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
微信小程序实现多行文字超出部分省略号显示功能
2019/10/23 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
[01:10:27]DOTA2-DPC中国联赛正赛 SAG vs XG BO3 第二场 3月5日
2021/03/11 DOTA
分析python服务器拒绝服务攻击代码
2014/01/16 Python
Python程序设计入门(3)数组的使用
2014/06/16 Python
Python实现从url中提取域名的几种方法
2014/09/26 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
基于python实现微信好友数据分析(简单)
2020/02/16 Python
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
委托公证书
2014/04/08 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
收入证明怎么写
2015/06/12 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python