转载自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. JVM学习(一)、垃圾收集器简介

    一.垃圾收集算法 (1)标记-清除算法:最基础的收集算法“标记--清除”(Mark-sweep)算法,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的 ...

  2. Java并发编程-再谈 AbstractQueuedSynchronizer 1 :独占模式

    关于AbstractQueuedSynchronizer JDK1.5之后引入了并发包java.util.concurrent,大大提高了Java程序的并发性能.关于java.util.concurr ...

  3. RabbitMQ系列(六)你不知道的RabbitMQ集群架构全解

    前言 本文将系统的介绍一下RabbitMQ集群架构的特点.异常处理.搭建和使用中要注意的一些细节. 知识点 一.为什么使用集群? 二.集群的特点 三.集群异常处理 四.集群节点类型 五.集群搭建方法 ...

  4. vue的路由映射问题

    遇到的问题 今天在项目中遇到了一个问题,明明在Router文件夹下的路由js映射文件中,配置好了,如下: // 生日贺卡 { path: 'birthdayRemind', component: lo ...

  5. 浅谈SpringAOP

    0. 写在最前面 之前实习天天在写业务,其中有一个业务是非常的复杂,涉及到了特别多的表.最后测下来,一个接口的时间,竟然要5s多. 当时想写一个AOP,来计算处理接口花费多长时间,也就是在业务逻辑的前 ...

  6. golang包管理解决之道——go modules初探

    golang的包管理是一直是为人诟病之处,从golang1.5引入的vendor机制,到准官方工具dep,目前为止还没一个简便的解决方案. 不过现在go modules随着golang1.11的发布而 ...

  7. iOS main.m解析

    在iOS开发中,有一个文件main.m,可能并不是很引起开发的注意.不过,可能在面试过程中,面试官还是有些会问到主函数里面到底做了哪些工作和任务.下面我们主要看一下main.m内部的逻辑. #impo ...

  8. ListView的setOnItemClickListener位置错乱问题

    如果你对一个ListView同时addHeaderView(listhHeaderView),也就是头部视图,再加setAdapter,当你加上setOnItemClickListener事件后你会发 ...

  9. C#异常处理。

    一.什么是异常? 程序运行时发生的错误. 二.异常处理的一般代码模式. try{..可能发生异常的代码} catch{..对异常的处理} finally{...无论是否发生异常.是否捕获异常都会执行的 ...

  10. Docker虚拟机实战

    安装Docker虚拟机 ◆ 先更新yum软件管理器,然后再安装Docker    #更新yum软件管理器    yum -y update    #安装Docker    yum install -y ...