[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 ...
随机推荐
- Struts2入门2 Struts2深入
Struts2入门2 Struts2深入 链接: http://pan.baidu.com/s/1rdCDh 密码: sm5h 前言: 前面学习那一节,搞得我是在是太痛苦了.因为在Web项目中确实不知 ...
- Swift开发iOS应用过程中的问题和解决记录
虚拟机里安装OSX+XCode开发环境 用真机的请直接跳过这个部分. 主要是在VitrualBox里安装mac系统和xcode,参考这篇教程,VirtualBox的版本是4.3.18 r96156,O ...
- Windows下提升进程权限
windows的每个用户登录系统后,系统会产生一个访问令牌(access token) ,其中关联了当前用户的权限信息,用户登录后创建的每一个进程都含有用户access token的拷贝,当进程试图执 ...
- SSD性能对比
SSD性能测试顺序写 16k iops 85061.08顺序写 8k iops 146250.93顺序写 4k iops 239816.69顺序写 2k iops 294540.87顺序写 1k io ...
- Python一点注意
1. pickle pickle模块中的两个主要函数是dump()和load().dump()函数接受一个文件句柄和一个数据对象作为参数,把数据对象以特定的格式保存到给定的文件中.当我们使用load( ...
- Windows Live Writer配置步骤
推荐文档: [超详细教程]使用Windows Live Writer 2012和Office Word 2013 发布文章到博客园全面总结 Live Writer 使用小贴示:发博客时始终使用图片原始 ...
- ios中将事件添加到系统日历
- (void)saveEvent:(id)sender { //事件市场 EKEventStore *eventStore = [[EKEventStore alloc] init]; //6.0及 ...
- iOS touch事件单击双击区分响应
如果您的 iPhone 应用里有个 view,既有单击操作又有双击操作.用户双击 view 时,总是先执行一遍单击的操作再执行双击的操作.所以直接判断时就会发现不能直接进入双击操作.下面是区分 tou ...
- Node.js之绝对选择
几年前,完全放弃Asp.net,彻底脱离微软方向.Web开发,在公司团队中,一概使用Node.js.Mongodb.Git,替换Asp.net mvc.Sql server和Tfs.当时来看,这是高风 ...
- bss段和data段的区别
一般情况下,一个程序本质上都是由 bss段.data段.text段三个组成的——本概念是当前的计算机程序设计中是很重要的一个基本概念.而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大 ...