转载自https://www.jetbrains.com/help/idea/using-intellij-idea-as-the-vim-editor.html

This feature is only supported in the Ultimate edition.

The following is only valid when IdeaVim Plugin is installed and enabled!

Before you start

Make sure that:

  • You are working with IntelliJ IDEA version 15.0.0 or higher. If you still do not have IntelliJ IDEA, download it from this page. To install IntelliJ IDEA, follow the instructions, depending on your platform.

Downloading and installing IdeaVim plugin

On the toolbar of the IntelliJ IDEA main window, press Ctrl+Alt+S to open the Settings/Preferences dialog, and then click Plugins settings.

You see the list of plugins currently installed on you computer. However, the IdeaVim plugin is not among them. Click the button Browse JetBrains plugins. IntelliJ IDEA shows the contents of the huge JetBrains repository... you can type the word "vim" in the search field to narrow down the list:

After installing the plugin, it actually becomes available after IntelliJ IDEA restart.

What happens to IntelliJ IDEA's UI after restart?

First, on the Tools menu, a check command Vim Emulator appears:

After IntelliJ IDEA restart, this check command is selected. You can disable Vim by clearing this check command.

Second, in Settings/Preferences dialog, an additional page Vim Emulation appears after restart.

Configuring shortcuts

Both Vim and IntelliJ IDEA are keyboard-centric. With IdeaVim plugin, it is quite possible that IntelliJ IDEA's keymap runs into a conflict with the Vim keymap. That's why IntelliJ IDEA allows you choosing which keyboard shortcut you prefer for a certain action. This is how it's done.

Open Settings/Preferences dialog, and click Vim Emulation:

In the Shortcut column, select the shortcut you want to configure. Next, in the Handler column, click the corresponding cell, and see the drop-down list of three possible options (Undefined, IDE, Vim):

If you choose IDE, it means that the IntelliJ IDEA's shortcut for this particular action is enabled. When you press, say, Ctrl+Z, IntelliJ IDEA silently performs its action.

If you leave the handler undefined, then, on pressing the shortcut, say, Ctrl+B, IntelliJ IDEA shows the banner.

You can choose to redefine this shortcut as an IDE shortcut and thus accept the IntelliJ IDEA's keymap. To do so, click the link IDE shortcut.

If you click the down arrow and then the link Vim Emulation, then IntelliJ IDEA will show the Vim Emulation page of the Settings/Preferences dialog.

For the purposes of this tutorial, click the link Vim Emulation. Then, when you press Ctrl+B, IntelliJ IDEA will perform the Vim action for this keyboard shortcut.

Editing modes

OK, now that you have Vim enabled, you see that the cursor has changed its shape - now it is a block, which means that you are in the Normal mode :

If you want to enter the Insert mode, press i, and the cursor will turn into a line:

In this mode you can type new or change the existing code. Same way, you can enter the various Vim modes: for example, press r for theReplace mode.

By the way, as soon as you enter Vim emulation, it is also reported in the Status bar.

To return to the Normal mode, press Escape.

Last modified: 22 January 2018
 

SEE ALSO

Using IntelliJ IDEA as the Vim Editor的更多相关文章

  1. spf13-vim – The Ultimate Distribution for Vim Editor

    spf13-vim is a cross platform and highly customizable assortment of vim plugins and various resource ...

  2. Amazon.com: NEW VI AND VIM EDITOR KEYBOARD STICKER: Office Products

    Amazon.com: NEW VI AND VIM EDITOR KEYBOARD STICKER: Office Products NEW VI AND VIM EDITOR KEYBOARD S ...

  3. 在IntelliJ IDEA中使用VIM

    IdeaVim(下载)插件可以让你在IntelliJ IDEA中键盘敲的飞起. 安装 打开IDEA的设置,在Plugins里,你可以选择在线搜索Vim安装,当然如果不行,就可以选择单独下载后安装,以下 ...

  4. 教你在 IntelliJ IDEA 中使用 VIM!

    Java技术栈 www.javastack.cn 优秀的Java技术公众号 IdeaVim(下载)插件可以让你在IntelliJ IDEA中键盘敲的飞起. 安装 打开IDEA的设置,在Plugins里 ...

  5. 高效编程:在IntelliJ IDEA中使用VIM

    硬核干货分享,欢迎关注[Java补习课]成长的路上,我们一起前行 ! <高可用系列文章> 已收录在专栏,欢迎关注! 概述 Vim是一个功能强大.高度可定制的文本编辑器; 具体有多强大,我现 ...

  6. Solarized Colorscheme for IntelliJ IDEA

    Solarized Colorscheme for IntelliJ IDEA Original Solarized color scheme developed by Ethan Schoonove ...

  7. Vim ide for shell development

    Source : This article is part of the ongoing Vi / Vim Tips and Tricks Series. As a Linux sysadmin or ...

  8. CentOS安装vim

    VMware下CentOS安装成功后,默认自带vi,但vi功能没vim丰富.以下为CentOS中安装vim: 用yum产看源中的vim安装包: [xi@localhost ~]$ yum search ...

  9. vi/vim使用指北 ---- Learning the vi and Vim Editors 读书 笔记

    vi/vim作为liux系统下最强大,最流行的文本编辑器之一.边看<Learning the vi and vim Editor>边学习vim,顺便做写简单的笔记,供以后查询. 没看这本书 ...

随机推荐

  1. mysql 开发基础系列11 存储引擎memory和merge介绍

    一. memory存储引擎 memoery存储引擎是在内存中来创建表,每个memory表只实际对应一个磁盘文件格式是.frm.   该引擎的表访问非常得快,因为数据是放在内存中,且默认是hash索引, ...

  2. No principal was found in the response from the CAS server

    按网上的配置了 public String casServerUrlPrefix = "http://cas-server.com:8080/cas"; public String ...

  3. 从零开始学 Web 之 Vue.js(六)Vue的组件

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  4. angular框架下的跨域问题(获取天气数据)

    1.新浪天气:http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&day=0&city=&dfc=1&am ...

  5. leetcode — add-binary

    /** * Source : https://oj.leetcode.com/problems/add-binary/ * * * Given two binary strings, return t ...

  6. TCPWrap的使用配置

    参考地址: http://www.softpanorama.org/Net/Network_security/TCP_wrappers/index.shtml http://generationip. ...

  7. 如何在优雅地Spring 中实现消息的发送和消费

    本文将对rocktmq-spring-boot的设计实现做一个简单的介绍,读者可以通过本文了解将RocketMQ Client端集成为spring-boot-starter框架的开发细节,然后通过一个 ...

  8. JavaScript中常见的十五种设计模式

    在程序设计中有很多实用的设计模式,而其中大部分语言的实现都是基于“类”. 在JavaScript中并没有类这种概念,JS中的函数属于一等对象,在JS中定义一个对象非常简单(var obj = {}), ...

  9. vsphere 虚拟机的迁移,冷迁移,vmotion(热迁移)

    备注:(理论部分参考王春海老师的课程) 一.概述 1.vsphere数据中心当处于某种目的进行维护时,需要将某台主机上运行或关闭的虚拟机,迁移到其他主机上,这个时候就需要使用迁移 2.可以使用冷迁移或 ...

  10. Spring Cloud Finchley版中Consul多实例注册的问题处理

    由于Spring Cloud对Etcd的支持一直没能从孵化器中出来,所以目前来说大多用户还在使用Eureka和Consul,之前又因为Eureka 2.0不在开源的消息,外加一些博眼球的标题党媒体使得 ...