IDEA使用ideaVim, 配置自定义vim快捷键[通俗易懂](Leading)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                IDEA使用ideaVim, 配置自定义vim快捷键[通俗易懂](Leading)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                .ideavimrc 配置文件
 其實很簡單,修改 ideavim 的配置文件 .ideavimrc 即可。默認情況下該文件并不存在,需要自行創建。macOS 或 Linux 下直接在當前用戶目錄下新建即可。(Windows 下應該也是在用戶目錄下新建配置文件,不過文件名應該是 _ideavimrc。)
macOS
 
wim 系統C:\Users\Administrator文件夾下創建_ideavimrc, 我這里用的是win系統
 需要安裝ideaVim插件
 
let mapleader=' '
set hlsearch
set incsearch
set ignorecase
set smartcase
set showmode
set number
" 相對當前行行數顯示
" set relativenumber
set scrolloff=3
set history=100000
set clipboard=unnamed
" clear the highlighted search result
" (清除高亮)
nnoremap <Leader>sc :nohlsearch<CR>
nnoremap <Leader>fs :w<CR>
" Quit normal mode
" (保存關閉)
nnoremap <Leader>q  :q<CR>
nnoremap <Leader>Q  :qa!<CR>
" Move half page faster
" (上下翻頁)
nnoremap <Leader>d  <C-d>
nnoremap <Leader>u  <C-u>
" 快速進入vim模式
inoremap jj <Esc>
inoremap jk <Esc>
inoremap kk <Esc>
" Quit visual mode
vnoremap v <Esc>
" Redo
nnoremap U <C-r>
" 以下是一些vim使用方法 -----------------
" viw  vaw  ciw caw diw daw vi' va' ci' ca' di' da' vi( va( ci( ca( di( da( ...
" ###### vim宏:normal模式下 qr 帶表給r標記宏 然后vim操作。  @r 重復一次宏 10@r重復10次宏 注意(idea的提示功能干擾,可以在字符串里面先寫好然后在復制黏貼)
" ###### 7.2 替換
"           :s/old/new - 用new替換當前行第一個old。
"           :s/old/new/g - 用new替換當前行所有的old。
"           :n1,n2s/old/new/g - 用new替換文件n1行到n2行所有的old。
"           :%s/old/new/g - 用new替換文件中所有的old。
"           :%s/^/xxx/g - 在每一行的行首插入xxx,^表示行首。
"           :%s/$/xxx/g - 在每一行的行尾插入xxx,$表示行尾。
"           有替換命令末尾加上c,每個替換都將需要用戶確認。 如:%s/old/new/gc,加上i則忽略大小寫(ignore)。
"           有一種比替換更靈活的方式,它是匹配到某個模式后執行某種命令,
"           法為 :[range]g/pattern/command
"           如 :%g/^ xyz/normal dd。
"           示對于以一個空格和xyz開頭的行執行normal模式下的dd命令。
"           于range的規定為:
"           果不指定range,則表示當前行。
"           ,n: 從m行到n行。
"           : 最開始一行(可能是這樣)。
"           $: 最后一行
"           .: 當前行
"           %: 所有行
" 以上是一些vim使用方法 -----------------
" 以下是自定義快捷鍵-----------------
" 復制單個單詞到寄存器a并標記到o (使用快捷鍵 空格+y)
" 注釋:(mo => 標記o),(+yiw =>復制當前單詞到系統剪切板),("a => 寄存器a) ,("ayiw => 復制當前單詞到寄存器a)
nnoremap <Leader>y mo"+yiw"ayiw
" 剪切單個單詞到寄存器a并標記到o (使用快捷鍵 空格+x)
" 注釋:(mo => 標記o[標記為的是使用''來回跳標記]),(+yiw =>復制當前單詞到系統剪切板),("a => 寄存器a) ,("ayiw => 復制當前單詞到寄存器a),(diw =>刪除當前單詞)
nnoremap <Leader>x mo"+yiw"ayiwdiw
" 刪除單個字符串并黏貼寄存器a的內容并來回標記o和p  (使用快捷鍵 空格+v)
" 注釋:(mp => 標記p),(viw => 選中當前單詞),("a => 寄存器a),(p => 將寄存器a內容黏貼到選中的單詞),('o => 跳回標記o),('p =>跳回標記p[標記為的是使用''來回跳標記])
nnoremap <Leader>v mpviw"ap'o'p
" idea內置快捷鍵alt+F1 (使用快捷鍵 空格+m)
nnoremap <Leader>m :action SelectIn<CR>
" idea內置快捷鍵control+E (使用快捷鍵 空格+e)
nnoremap <Leader>e :action RecentFiles<CR>
"生成get set方法  (使用快捷鍵 空格+cc)
nnoremap <Leader>cc :action Generate<CR>
" shift+h--zz(向上翻頁)(使用快捷鍵 空格+h)
nnoremap <Leader>h <S-h>zz
" shift+l--zz(向下翻頁)(使用快捷鍵 空格+l)
nnoremap <Leader>l <S-l>zz
" 以上是自定義快捷鍵-----------------
" quit ==> close current window
nnoremap <Leader>q <C-W>w
" Window operation
" (關于窗口操作)
nnoremap <Leader>ww <C-W>w
nnoremap <Leader>wd <C-W>c
nnoremap <Leader>wj <C-W>j
nnoremap <Leader>wk <C-W>k
nnoremap <Leader>wh <C-W>h
nnoremap <Leader>wl <C-W>l
nnoremap <Leader>ws <C-W>s
nnoremap <Leader>w- <C-W>s
nnoremap <Leader>wv <C-W>v
nnoremap <Leader>w\| <C-W>v
" Tab operation
" (切換標簽)
nnoremap tn gt
nnoremap tp gT
" ==================================================
" Show all the provided actions via `:actionlist`
" ==================================================
" project search
"相當于IDEA的兩次shift按鈕
nnoremap <Leader>se :action SearchEverywhere<CR>
"查找用法
nnoremap <Leader>fu :action FindUsages<CR>
"打斷點
nnoremap <Leader>bb :action ToggleLineBreakpoint<CR>
"查看所有斷點
nnoremap <Leader>br :action ViewBreakpoints<CR>
"DUG啟動
nnoremap <Leader>cd :action ChooseDebugConfiguration<CR>
"跳轉到Action
nnoremap <Leader>ga :action GotoAction<CR>
"跳轉到實體類
nnoremap <Leader>gc :action GotoClass<CR>
"跳轉到聲明
nnoremap <Leader>gd :action GotoDeclaration<CR>
"跳轉到文件
nnoremap <Leader>gf :action GotoFile<CR>
"跳轉到實現類
nnoremap <Leader>gi :action GotoImplementation<CR>
"跳轉到測試類(沒有則自動建立)
nnoremap <Leader>gt :action GotoTest<CR>
"顯示當前文件路徑
nnoremap <Leader>fp :action ShowFilePath<CR>
"激活maven窗口
"nnoremap <Leader>mv :action ActivateMavenProjectsToolWindow<CR>
"修改所有的關聯名字
nnoremap <Leader>re :action RenameElement<CR>
"修改當前文件的文件名
nnoremap <Leader>rf :action RenameFile<CR>
"顯示用法
nnoremap <Leader>su :action ShowUsages<CR>
"關閉活動顯示板
nnoremap <Leader>tc :action CloseActiveTab<CR>
"以下是不常用
"打開命令管理器
nnoremap <Leader>tl Vy<CR>:action ActivateTerminalToolWindow<CR>
vnoremap <Leader>tl y<CR>:action ActivateTerminalToolWindow<CR>
" built in search looks better
" (查找字符串)
nnoremap / :action Find<CR>
" but preserve ideavim search
" (vim自帶的搜索)
nnoremap <Leader>/ /
"添加注釋
nnoremap <Leader>;; :action CommentByLineComment<CR>
"改變視圖
nnoremap <Leader>cv :action ChangeView<CR>
"跳轉到標致
nnoremap <Leader>gs :action GotoSymbol<CR>
"
nnoremap <Leader>ic :action InspectCode<CR>
nnoremap <Leader>oi :action OptimizeImports<CR>
nnoremap <Leader>pm :action ShowPopupMenu<CR>
"正常啟動工程
nnoremap <Leader>rc :action ChooseRunConfiguration<CR>
查看ideaVim的內置快捷鍵 使用:進入vim模式 actionlist 查看所有快捷鍵
 如上圖黑光標按:再輸入actionlist 查看所有ideavim的內置快捷鍵
 
快捷鍵查看
使用方式
 nnoremap m :action SelectIn
總結
以上是生活随笔為你收集整理的IDEA使用ideaVim, 配置自定义vim快捷键[通俗易懂](Leading)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: SAP CRM WebClient UI
- 下一篇: How is default text
