系列概览:
- 上篇(插件篇):介绍了 IdeaVim 插件的安装与常用插件设置。IDEA VIM 配置 - 插件篇
- 本篇(基础配置篇):聚焦于 IdeaVim 的核心配置,不涉及插件与快捷键。
- 下篇(Keybind 定制篇):将详细讲解如何基于本篇配置,自定义高效的 Vim 快捷键。
配置详情
基础配置部分都加入了 注释说明 ,直接看配置就行 自己配置的配置项不多
" basic setting start
set clipboard=unnamedplus " 使用系统粘贴板
set hls " 高亮上次搜索的匹配项
set is " 搜索实时高亮匹配
" autocmd FileType html,xml set matchpairs+=<:> " xml 支持 <> ref % 增强插件
set sc "
set smd
set scs
set tm=5000 " 按键超时时间 为了配合 which-key 不建议设置太短
let mapleader=' ' " leader key 设置
set incsearch " do incremental searching, search as you type
set ignorecase " ignore case when searching
set smartcase " no ignorecase if Uppercase char present
set showmode=keep
" basic setting end
" ideavim based IDE setting start
set so=10 " 光标所在行在上下保持的最小行数
" ideavim based IDE setting end
" 这部分设置都需要 IDEA 的支持,会被映射到 idea 中
set nu " show line number
set rnu " show relative line number
set cul " Highlight the line containing the cursor
" set cc=5 " Maps to IntelliJ's visual guide columns IDEA 的视觉参考线,没什么用
set list " 显示空白字符
set warp " 开启软换行
" idea feature end
" idea only options start
set ideajoin " use J join lines ,nested if , comments , 启用 IDEA 的智能 JOIN ,用来合并多行、嵌套 if 等操作
set idearefactormode=visual " idea select mode
" idea only options end
" basic setting end
配置说明
- 使用系统剪切板 vim用y粘贴的内容也可以通过command + c 粘贴
- 通过绝对行号 (
nu
) 与相对行号 (rnu
) 结合使用,配合so
保持足够的上下文视野,大幅减少视觉跳跃。 - 软换行与空白可视化:
list
与warp
配合,便于在长注释或 Markdown 编辑时查看实际字符。 - 开启
ideajoin
智能合并。
配置误区
许多 Vim 缩进相关设置(tabstop
、shiftwidth
、softtabstop
、shiftround
)在 IdeaVim 中不会生效:
" 这些缩进配置由 IDE 控制,写在 .ideavimrc 中无效:
set tabstop=4
set shiftwidth=4
set softtabstop=4
set shiftround=true
建议:请在 IntelliJ IDEA 的
Settings ▶ Editor ▶ Code Style
中统一设置语言的缩进与制表符偏好,保证不同文件类型间一致。
总结
本篇集中梳理了 IdeaVim 的基础配置,下篇会介绍一些 keybind 的思路