IdeaVim 配置与使用指南

一、什么是 IdeaVim?

IdeaVim 是 JetBrains 系列 IDE(如 IntelliJ IDEA, WebStorm, PyCharm 等)中的一个插件,让你在 IDE 里使用 Vim 的按键习惯,大大提升效率。

安装方法:
在 IDE 中打开 设置(Settings)插件(Plugins) → 搜索 IdeaVim → 安装并重启。

Vim 的各种模式

Vim 主要有以下几种模式,每种模式有不同的快捷键:

模式名称进入方式作用
普通模式(Normal)Esc执行命令、移动光标
插入模式(Insert)iao输入文本
可视模式(Visual)vVCtrl+v选中文本
命令模式(Command-line):执行 Vim 命令
替换模式(Replace)R逐字符替换文本
选择模式(Select)gh类似可视模式,但可以直接输入替换文本
Ex 模式(Ex mode)Q进入 Vim 的 Ex 界面(类似命令模式,但适用于批量处理)


二、基础配置(.ideavimrc)

IdeaVim 支持使用 .ideavimrc 文件(类似于 Vim 的 .vimrc),配置自己喜欢的快捷键、模式、增强功能。

一般放在用户根目录下,比如:

  • Windows: C:\Users\你的用户名\.ideavimrc

  • Linux/macOS: ~/.ideavimrc

推荐基础配置

" 启动时自动启用 IdeaVim
set ignorecase          " 搜索时忽略大小写
set smartcase           " 如果包含大写字母,按大写敏感搜索
set incsearch           " 输入搜索内容时实时搜索
set hlsearch            " 高亮搜索结果
set relativenumber      " 显示相对行号(方便跳转)
set number              " 同时显示绝对行号" 常用快捷键 remap
nmap <Space> :noh<CR>   " 空格清除搜索高亮
nmap <C-s> :w<CR>       " Ctrl+s 保存文件
imap <C-s> <Esc>:w<CR>i " 插入模式下 Ctrl+s 保存" 移动优化
nmap <C-j> 10j          " Ctrl+j 向下移动10行
nmap <C-k> 10k          " Ctrl+k 向上移动10行" 快速打开文件(需要 IdeaVim 支持 :action)
nmap <leader>p :action GotoFile<CR>  " <leader>p 打开文件跳转
nmap <leader>b :action GotoDeclaration<CR> " <leader>b 跳转到定义" 光标移动更顺滑
set scrolloff=5         " 光标上下保持 5 行距离" 主题美化(需要安装插件,比如 vim-airline)
" 这部分 IdeaVim 不直接支持,需要配合IDE设置" 插件快捷键(需要在 Settings → Keymap 配置支持)
" 例如:<leader>f 格式化文件
nmap <leader>f :action ReformatCode<CR>" 插入模式下快速切换英文输入法(IdeaVim Extension 支持)
" inoremap jj <Esc>       " 插入模式 jj 退出到普通模式

三、常用操作

               

操作 快捷键
保存 :w 或 <Ctrl-s>
退出  :q
保存并退出:wq
撤销u
重做 <Ctrl + r>
快速移动 h 左 j 下 k 上 l 右
搜索  /关键词
搜索下一个n
搜索上一个N
复制(可视模式)y
粘贴  p
剪切(可视模式)d
可视选择v
块选择(列模式)Ctrl+v

四、常见问题

1. 复制成功但粘贴失败?

Vim(包括 IdeaVim)复制内容,是放在Vim自己的寄存器里的,
如果没有设置系统剪贴板共享,是不能用 Ctrl+V 粘贴到外面的!

解决: 打开你的 ~/.ideavimrc 文件,加上这一行:

set clipboard=unnamedplus

然后保存,重启 IntelliJ IDEA

这样以后用 y 复制,就直接同步到系统剪贴板啦~可以 Ctrl+V 粘到微信、浏览器、VS Code 等外部程序。

2. 插件指令不完整?

  • 问题:IdeaVim 并没有完整复刻 Vim 的所有命令和功能。

  • 解决:查看 IdeaVim 官方文档 或使用 :help 查看支持的命令列表。


五、一些小技巧 ✨

  • 想快速跳到某个行号?:[行号]<CR>,比如 :100 回车跳到第100行。

  • 大段移动?选中后用 :m +行号:m -行号。(和上面那个差不多,具体看你怎么选择)

  • 觉得 <Esc> 太远?可以设成 jj 连按退出。


六、进阶推荐

如果你想更舒服地用 IdeaVim,可以考虑下载这些插件:

  •     安装 IdeaVim-EasyMotion(快速跳转功能)
  •     安装 IdeaVim-Sneak(更强的移动能力)
  •     搭配 IDE 自带的 Key Promoter X 插件,加速记忆快捷键。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/79181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM GC垃圾回收算法

垃圾回收算法&#xff08;GC Algorithms&#xff09; JVM 根据对象生命周期特性&#xff08;分代假设&#xff09;采用不同的回收算法&#xff0c;核心算法包括&#xff1a; 标记-清除&#xff08;Mark-Sweep&#xff09; 此算法执行分两阶段。第一阶段从引用根节点开始标记…

数智化招标采购系统针对供应商管理解决方案(采购如何管控供应商)

随着《优化营商环境条例》深化实施&#xff0c;采购领域正通过政策驱动和技术赋能&#xff0c;全面构建供应商全生命周期管理体系&#xff0c;以规范化、数智化推动采购生态向透明、高效、智能方向持续升级。 郑州信源数智化招标采购系统研发商&#xff0c;通过供应商管理子系…

Fiori学习专题二十五:Remote OData Service

之前我们都是使用本地JSON来显示发票清单。这节课我们将调用一个UI5公共的OData Service 1.由于本地开发访问OData服务https://services.odata.org/V2/Northwind/Northwind.svc/会产生跨域问题&#xff0c;所以这里我们需要使用代理 新建一个终端&#xff1a;执行&#xff1a;n…

文件读取操作

如果需要从文件读入数据&#xff0c;并把输出数据保存为文件&#xff0c;需要使用文件读取。 freopen为file reopen&#xff0c;意为文件重新打开&#xff0c;实现重定向标准输入输出第一个参数为文件名可以修改&#xff0c;输入文件为.in&#xff0c;输出文件为.out第二个参数…

[Linux网络_68] 转发 | 路由(Hop by Hop) | IP的分片和组装

目录 1.再谈网络转发 2.路由 举个例子 3.分片和组装 IP 层 [Linux#67][IP] 报头详解 | 网络划分 | CIDR无类别 | DHCP动态分配 | NAT转发 | 路由器 1.再谈网络转发 我们在上一篇文章中知道了路由器的功能有&#xff1a; 转发DHCP | 组建局域网NAT 组建局域网功能表现&…

如何使用C语言手搓斐波那契数列?

斐波那契数列&#xff0c;第0项为0&#xff0c;第1项为1&#xff0c;第2项开始每项等于前两之和。&#xff08;有些题目从第一项开始&#xff0c;第一项为1&#xff0c;第二项也为1&#xff09;。 运行时&#xff0c;输入的n代表的是项数&#xff0c;而输出则代表的是该项的值。…

java: 警告: 源发行版 21 需要目标发行版 21

解决这个问题看三个地方的SDK版本信息是否正确&#xff1a; 1&#xff0c;打开cmd命令&#xff0c;输入 java -version ,查看版本是否正确&#xff1b; 2&#xff0c;打开模块设置&#xff08;F4&#xff09;&#xff0c;查看项目的SDK 3&#xff0c;查看模块的SDK

一区思路!挑战5天一篇NHANES预测模型 DAY1-5

挑战5天一篇预测模型NHANES Day1! 近期美国关闭seer数据库的信息在互联网上广泛传播&#xff0c;大家都在担心数据库挖掘是否还能做。这个问题其实是有答案的&#xff0c;数据库挖掘肯定能做&#xff0c;做没被关的数据库即可&#xff0c;同时留意一些国产数据库&#xff5e;…

centos7安装NVIDIA显卡

装备工作 我的系统版本 cat /etc/centos-releaseCentOS Linux release 7.9.2009 (Core) 内核版本 rpm -q kernel或者 rpm -qa|grep kernelkernel-3.10.0-1160.el7.x86_64 注意以上输出内核版本&#xff0c;按照我下面的操作步骤&#xff0c;不会出问题。否则重装系统都有可…

Web应用开发指南

一、引言 随着互联网的迅猛发展&#xff0c;Web应用已深度融入日常生活的各个方面。为满足用户对性能、交互与可维护性的日益增长的需求&#xff0c;开发者需要一整套高效、系统化的解决方案。在此背景下&#xff0c;前端框架应运而生。不同于仅提供UI组件的工具库&#xff0c…

Java @Transactional事物隔离级别和默认值详解

在 Java 开发中&#xff0c;Transactional 注解是 Spring 框架中用于管理事务的重要工具。它提供了多种配置选项&#xff0c;其中事务隔离级别是一个关键属性。本文将深入探讨 Transactional 注解的隔离级别默认值&#xff0c;并通过具体代码示例帮助你更好地理解和应用事务隔离…

车辆检测新突破:VFM-Det 如何用大模型提升识别精度

目录 ​编辑 一、摘要 二、引言 三、相关工作 四、Coovally AI模型训练与应用平台 五、方法 概述 综述&#xff1a;基于区域建议的检测 基于VehicleMAE的感知器 六、实验分析 数据集与评估指标 实现细节 属性预测模块预训练 与SOTA检测器的对比实验 消融实验 V…

微格式:为Web内容赋予语义的力量

一、什么是微格式? 微格式是一种建立在已有 Web 标准基础上的简单、开放的数据格式。它的核心思想是通过在 HTML 标签中添加特定的属性和类名,为网页内容添加语义注解,从而兼顾 HTML 文档的人机可读性。 简单来说,微格式就是一套约定俗成的 HTML 标记方式,让我们能够在不…

偏移成像中,原始地震采集数据的数据规则化(Data Regularization)

在油气地震资料处理中&#xff0c;柯希霍夫&#xff08;Kirchhoff&#xff09;积分法偏移成像对数据采集分布的均匀性较为敏感。当原始地震道数据存在空间分布不均匀时&#xff0c;会导致偏移噪声、假频或成像失真。数据规则化&#xff08;Data Regularization&#xff09;通过…

米壳AI:跨境电商图片翻译的“隐形革命”:当AI技术遇上全球化生意

一、行业观察&#xff1a;跨境卖家的“语言围城” 在亚马逊西班牙站&#xff0c;某家居品牌因产品图西班牙语翻译错误导致整批货物滞留港口&#xff1b;TikTok东南亚直播间里&#xff0c;美妆主播因马来语字幕错位引发消费者投诉……这些真实案例折射出跨境电商的集体困境&…

人工智能:如何将数据输入到神经网络中

文章目录 引言数据输入神经网络的重要性及示例以识别美女图片为例讲解数据输入不同应用的数据输入方式结语 人工智能是引领未来的前沿技术领域。通过这个系统性学习计划&#xff0c;我们将逐步深入如何将数据输入到神经网络中。无论你是初学者还是有一定基础的开发者&#xff0…

数据库12(游标)

游标语法 declare c1 cursor for select title from titles --定义一个游标c1&#xff0c;确定游标对应的列是titles表的title列&#xff0c;游标可以对应多个列 declare bname varchar(50) --声明变量 open c1 --初始化&#xff0c;开始使用游标 fetch next from c1 in…

第四部分:赋予网页健壮的灵魂 —— TypeScript(中)

目录 4 类与面向对象&#xff1a;构建复杂的组件4.1 类的定义与成员4.2 继承 (Inheritance)4.3 接口实现 (Implements)4.4 抽象类 (Abstract Class)4.5 静态成员 (Static Members) 5 更高级的类型&#xff1a;让类型系统更灵活5.1 联合类型 (|)5.2 交叉类型 (&)5.3 字面量类…

Vue3源码学习-提交限制

文章目录 前言✅ 1. ESLint 限制&#x1f527; 配置位置&#xff1a;✅ 启用了哪些规则&#xff08;核心&#xff09;&#xff1a;&#x1f4e6; 使用的插件和标准&#xff1a; ✅ 2. TSC 编译限制关键选项&#xff1a; ✅ 3. Git Hook 校验工具链配置例子&#xff08;package.…

Arthas 使用攻略

目录 背景 Arthas是什么&#xff1f; 安装 使用arthas-boot&#xff08;推荐&#xff09; 启动 常用命令 一键生成arthas命令的插件(强烈推荐) watch 一、命令语法结构 二、核心参数详解 三、实战场景 1. 基础观测 - 查看入参和返回值 2. 条件过滤 - 只关注特定参…