IDEA 可以安装 IdeaVim 插件,实现 Vim 编辑效果。
在 ~/.ideavimrc 文件中可以对 IdeaVim 进行配置。
以下是我使用的配置(不定期更新):
set clipboard=unnamed
set NERDTree
set incsearch
set ignorecase
set hlsearch
" Normal 模式:相对行号
set number
set relativenumber
let mapleader = " "
nnoremap gd :action GotoDeclaration<CR>
nnoremap <leader>gb :action Back<CR>
nnoremap <leader>r :action RenameElement<CR>
nnoremap gh :action ShowHoverInfo<CR>
nnoremap <leader>wc :action CloseEditor<CR>
nnoremap <leader>wo :action CloseAllEditorsButActive<CR>
nnoremap <leader>bb :action Bookmarks<CR>
nnoremap <leader>bn :action GotoNextBookmark<CR>
nnoremap <leader>bp :action GotoPreviousBookmark<CR>
nnoremap <leader>bs :action ShowBookmarks<CR>
nnoremap <leader>nf :NERDTreeFind<CR>
nnoremap gcc :action CommentByLineComment<CR>
vnoremap gc :action CommentByLineComment<CR>
ideavim 通过映射 idea action 达到快捷键的配置。可以通过 :actionlist <patten> 查看 idea 支持哪些 action。
例如输入 actionlist bookmark 可以查看所有与 bookmark 相关的 action。
--- Actions ---
ActivateBookmarksToolWindow <A-2>
AddAnotherBookmark
BookmarkOpenTabs
BookmarkOpenTabsGroup
Bookmarks
Bookmarks.Goto
Bookmarks.Toggle
Bookmarks.ToolWindow.GearActions
Bookmarks.ToolWindow.PopupMenu
Bookmarks.ToolWindow.TitleActions
BookmarksView.AskBeforeDeletingLists
BookmarksView.AutoscrollFromSource
BookmarksView.AutoscrollToSource
BookmarksView.ChooseType <C-F11>
BookmarksView.Create <A-Ins>
BookmarksView.DefaultGroup
BookmarksView.Delete <Del>
BookmarksView.DeleteType
BookmarksView.GroupLineBookmarks
BookmarksView.MoveDown
BookmarksView.MoveUp
BookmarksView.OpenInPreviewTab
BookmarksView.Rename <F2>
BookmarksView.RewriteBookmarkType
BookmarksView.ShowPreview
BookmarksView.SortGroupBookmarks
DeleteMnemonicFromBookmark
EditBookmark
EditBookmarksGroup
GotoBookmark0 <C-0>
GotoBookmark1 <C-1>
GotoBookmark2 <C-2>
GotoBookmark3 <C-3>
GotoBookmark4 <C-4>
GotoBookmark5 <C-5>
GotoBookmark6 <C-6>
GotoBookmark7 <C-7>
GotoBookmark8 <C-8>
GotoBookmark9 <C-9>
GotoBookmarkA
GotoBookmarkB
GotoBookmarkC
GotoBookmarkD
GotoBookmarkE
GotoBookmarkF
GotoBookmarkG
GotoBookmarkH
GotoBookmarkI
GotoBookmarkJ
GotoBookmarkK
GotoBookmarkL
GotoBookmarkM
GotoBookmarkN
GotoBookmarkO
GotoBookmarkP
GotoBookmarkQ
GotoBookmarkR
GotoBookmarkS
GotoBookmarkT
GotoBookmarkU
GotoBookmarkV
GotoBookmarkW
GotoBookmarkX
GotoBookmarkY
GotoBookmarkZ
GotoNextBookmark
...
---MORE---
(完)