[Python] Keep efficient by vim in Pycharm
From: http://blog.csdn.net/u013088062/article/details/50144201
From: http://blog.csdn.net/u013088062/article/details/50148219
已有方案
自定义方案
配置Vim方案
已有方案
1、主题
毫无疑问Pycharm是一个具有强大快捷键系统的IDE,这就意味着你在Pycharm中的任何操作,例如打开一个文件、切换编辑区域等,都可以通过快捷键来实现。使用快捷键不仅能提高操作速度,看起来也会非常酷。然和,如果你已经习惯使用一些快捷键方案,你的手指就会习以为常,改变起来就比较困难。这部分教程即是介绍如何根据你的习惯来量身定制Pycharm快捷键设置,使你用起来得心应手。
对于基本的快捷键的组合、用法这里不再赘述,详情可参考Configuring keyboard shortcuts或者 Keymap。
2、选择一个快捷键配置方案
这一步非常简单,在主工具栏中单击设置按钮,在设置对话框中单击 Keymap。
在对应页面的下拉列表中选择一个快捷键配置方案:
单击应用保存更改。例如我们这里选择了Eclipse方案,因此删除一行的快捷键就是我们所习惯的Ctrl+D了。
自定义方案
3、改变快捷键配置方案。
在这里我们介绍如何改变快捷键的配置方案。
设想一下情况:你选择了Emacs方案的快捷键配置,但这个配置方案里面并没有预先定义好如何通过快捷键来实现删除一行:
假设你希望将这个功能指定快捷键为Ctrl+D,操作如下:
(1)在主工具栏中单击设置按钮,在设置对话框中单击 Keymap。
(2)在对应下来列表中选择Emacs。
(3)在下方的快捷键功能列表中,展开Editor Actions节点,定位到Delete Line功能。
(4)右击,在快捷菜单中选择 Add Keyboard Shortcut
(5)在打开的 Enter Keyboard Shortcut窗口 的First Stroke中 输入你想要的快捷键组合:
需要注意的一点是,在输入预期的快捷键时,所有来自键盘的输入都会被识别为用户的快捷键设置,举个例子,如果你想设置一个快捷键组合Ctrl+D,则需要一次按下Ctrl和D键。
如果你按错了键,你只能使用鼠标指针来删除错误的输入,因为此时来自键盘的输入Backspace 也会被系统认定为一个快捷键设置。
(6)接下来需要注意系统的警告提示:这个Ctrl+D的快捷键组合已经存在,说明Pycharm已经将这个快捷键组合关联到别的设置中去了,好在之前的设置并不常用,可以将它替换掉,因此单击OK确定。
在替换时Pycharm会给出警告提示:
(7)再次浏览一下设置好的快捷键方案:
你将会发现此时的配置方案自动更名为 Emacs copy。
这是因为Pycharm并不允许用户更改其预定义好的快捷键配置方案,只能更改其拷贝文件。单击应用并关闭对话框。
最后测试一下我们的更改是否生效。打开一个py文件,将光标定位到待删除行,按下Ctrl+D,该行代码顺利删除,设置更改成功。
配置vim方案
1、主题
如果你是Vim的粉丝,并且不打算使用其他类型的编辑器,那么这篇教程将会比较适合你。这里将会详细介绍如何在 Pycharm IdeaVim插件 的帮助下下载、安装、使用Vim。
至于有关Python编程以及Vim的用法,详见official website, Vim documentation。
3、下载安装IdeaVim插件
在Pycharm的主工具栏中单击设置按钮,在IDE Settings界面下选择 Plugins页面。此时将会显示当前平台下安装的所有插件。然而IdeaVim并不在其中,此时需要单击Browse JetBrains plugins按钮,在搜索栏中键入vim来找到对应的插件:
安装插件:
重启Pycharm后即可使用:
4、重启后的变化
Vim和Pycharm都是基于键盘输入的文本编辑软件,响应的IdeaVim插件的快捷键设置很可能与Pycharm的快捷键设置相冲突,这也是为什么Pycharm需要根据已有的快捷键配置来重新创建一套Vim版的快捷键方案。
// Pycharm 5:
当Pycharm重启之后,你将会看到Vim Keymap settings对话框,在这里选择一个快捷键配置方案来作为当前Vim环境下的快捷键方案:
我们这里选择默认的配置,单击OK,可以看到Pycharm创建了一份新的快捷键配置:
接下来再次查看快捷键设置界面。单击设置按钮进入Settings对话框,在IDE Settings下单击Keymap页面。在对应的快捷键配置下拉列表中会出现一个名为Vim的方案名称,其中定义了一些默认的快捷键组合,例如Ctrl+V代表粘贴等等:
然而这里还有一个更重要的Pycharm界面设置,在主工具栏中单击Tools,选择Vim Emulator命令:
当你安装了IdeaVim插件之后,这条命令是默认选中的(前面有对号),也就是意味着当前的Vim仿真器可用。
取消勾选,Pycharm就会回到正常的快捷键状体;
再次勾选,Pycharm就会重新加载Vim版的快捷键配置方案:
5、编辑模式
现在,我们就可以在Vim模式下进行编辑了,此时我们的输入光标为一个黑色小块,意味着我们当前处于 Normal模式:
如果你想变为Insert模式,按下i键,光标将会变为一条竖线:
在这个模式下面可以输入新的代码或者对当前代码进行修改。当然你还可以选择其他模式,例如按r键进入Replace输入模式。
顺便说一句,为了快速进入Vim仿真,可以查看状态栏的相关提示信息:Status bar
按下Esc键,回到正常编辑模式。
IdeaVim拥有很多VIm编辑器的特征,例如缩写形式、快捷键组合、各种各样的命令等等,详见:a lot more。
[Python] Keep efficient by vim in Pycharm的更多相关文章
- python的各种编辑器-PyScripter、pycharm 、atom、vscode、Sublime Text等等
RT,本文主要列举python的各种编辑器-PyScripter.pycharm .atom.vscode.Sublime Text等等. PyScripter 开源 免费 windows only ...
- Python学习笔记(1)Pycharm基本认识
Pycharm的使用 集成开发环境(IDE,集成开发环境) VIM #经典的linux下的文本编辑器 Pycharm,主要用于python开发的ide PyCharm常用快捷键 Ctrl + / # ...
- Python之Django环境搭建(MAC+pycharm+Django++postgreSQL)
Python之Django环境搭建(MAC+pycharm+Django++postgreSQL) 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7828614. ...
- python命令里运行正确但是pycharm里面运行就是报错的问题
这两天在学习爬虫,第一步就是 import scrapy class StackOverflowSpider(scrapy.Spider): 结果一直报错,说是scrapy没有spider这个方法,各 ...
- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda
---恢复内容开始--- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda 从头开启python的开发环境搭建.安装比较简单, ...
- Python 代码编辑器怎么选?PyCharm、VS Code、Jupyter Notebook 都各有特色
Python 代码编辑器怎么选?PyCharm.VS Code.Jupyter Notebook 都各有特色,Jupyter 适合做数据分析这些需要可视化的操作,PyCharm 更适合做完整的 Pyt ...
- python目前最好用的IDE——pycharm
PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试.版本控制. ...
- [Python] Create a Django project in Pycharm
From: http://blog.csdn.net/u013088062/article/details/50158239 From: http://blog.csdn.net/u013088062 ...
- Python中安装bs4后,pycharm依然报错ModuleNotFoundError: No module named 'bs4'
学习网络抓取时,第一步出现问题. 执行示例代码 from urllib.request import urlopen from bs4 import BeautifulSoup html = urlo ...
随机推荐
- iOS5可能会删除本地文件储存 - Caches 也不安全
转自:http://blog.163.com/ray_jun/blog/static/1670536422011101225132544/ 出处:http://superman474.blog.163 ...
- Python3 字符串
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32Type & ...
- IPv6正则表达式
斯蒂芬·瑞恩写了一个非常有用的正则表达式,可用于匹配任何一个合法的IPv6地址.以下为正则表达式的代码: ^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|: ...
- jackson json转实体 com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException
jackson 2.2.2 由于vo中缺少json的某个字段属性引起 2种解决方法 1:vo中添加注解@JsonIgnoreProperties(ignoreUnknown = true) 2. m ...
- Scala深入浅出实战经典之 List伴生对象操作方法代码实战.
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- (转)Python rsa 签名与验证 sign and verify
转自:http://wawehi.blog.163.com/blog/static/143780306201371361120515/ 网上一搜一大把的 python rsa 相关的东西,python ...
- 调用CXF工具 生成 WSDL【转】
在做WebService的时候,生成WSDL是必不可少的一步.我们通常使用的工具就是Axis和CXF. CXF提供了一个命令行工具,可以通过命令来生成Java to WSDL,也可以由WSDL生成Ja ...
- ooofc.com域名备案问题导致无法正常访问临时解决方案
各位尊敬的easyradius用户: 由于临时收到ooofc.coom域名备案被删除的消息,之后ooofc.com就无法访问.导致用户无法访问控制台oa.ooofc.com,及用户中心user.ooo ...
- [原]quick2.25让描边闪起来
本文教大家如何使用shader让描边动起来.实质就是间隔一定时间改变描边的颜色.难点:如何通过程序把颜色传给shader.想在quick2.25里面尝试的朋友,参考quick2.25精灵变灰配置一下环 ...
- SRM 591 div1 275
topcoder被Appirio收购了 好久没做tc,这个题目挺简单.就是Arena里面看不到图片,只能去tc网站上找题目.http://community.topcoder.com/stat?c= ...