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创建XML文档
Mar 01 Python
Python中的异常处理相关语句基础学习笔记
Jul 11 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 Python
Python标准库之itertools库的使用方法
Sep 07 Python
Python星号*与**用法分析
Feb 02 Python
Django中Forms的使用代码解析
Feb 10 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
Jun 09 Python
Python求两点之间的直线距离(2种实现方法)
Jul 07 Python
Python实现一个数组除以一个数的例子
Jul 20 Python
Django结合ajax进行页面实时更新的例子
Aug 12 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
Feb 26 Python
基于Python制作一副扑克牌过程详解
Oct 19 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
NT IIS下用ODBC连接数据库
2006/10/09 PHP
php实现删除空目录的方法
2015/03/16 PHP
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
2019/03/28 PHP
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
React中上传图片到七牛的示例代码
2017/10/10 Javascript
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
JavaScript实现随机点名器实例详解
2019/05/07 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
Vue-CLI 项目在pycharm中配置方法
2019/08/30 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
JavaScript进制转换实现方法解析
2020/01/18 Javascript
javascript实现京东登录显示隐藏密码
2020/08/02 Javascript
vue-router重写push方法,解决相同路径跳转报错问题
2020/08/07 Javascript
JavaScript中while循环的基础使用教程
2020/08/11 Javascript
[01:01:18]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#2COL VS LGD
2016/03/03 DOTA
[47:20]DAC2018 4.4 淘汰赛 Optic vs Mineski 第一场
2018/04/05 DOTA
浅析Python requests 模块
2020/10/09 Python
使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
2013/01/23 HTML / CSS
关于HTML5语义标签的实践(blog页面)
2016/07/12 HTML / CSS
单身旅行者的单身假期:Just You
2018/04/08 全球购物
英国最全面的橄榄球联盟门票网站:Live Rugby Tickets
2018/10/06 全球购物
教师年终个人自我评价
2013/10/04 职场文书
公司活动邀请函
2014/01/24 职场文书
西安交大自主招生自荐信
2014/01/27 职场文书
安全生产实施方案
2014/02/23 职场文书
经营理念口号
2014/06/21 职场文书
超市周年庆活动方案
2014/08/16 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
思想品德评语大全
2014/12/31 职场文书
2016秋季幼儿园开学寄语
2015/12/03 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers