IDEA使用ideaVim

vim常用命令總結(ideavim)

 

image

image

1. 插入命令

  1. “i” 命令可以在當前光標之前插入文本。
  2. “I” 命令可以在當前行首插入文本。
  3. “a” 命令可以在當前光標之後插入文本。
  4. “A” 命令可以在當前行尾插入文本。
  5. “o” 命令可以在當前行的下面另起一行.
  6. “O” 命令(注意是大寫的字母O)將在當前行的上面另起一行。
  7. “c” 修改,類似delete與insert的組和。刪除一個字組、句子等之資料,並插入新建資料。
  8. “cc”修改整行的內容。
  9. “C” 刪除遊標所在位置到行末資料,並進入輸入模式。
  10. “s” 刪除遊標所在之字元,並進入輸入模式。
  11. “S” 刪除遊標所在之該行資料,並進入輸入模式。
  12. “r” 用接於此指令之後的字元取代(replace)遊標所在字元。如:ra將遊標所在字元以 a 取代之。
  13. “R” 進入取代狀態。
     

2. 刪除命令

  1. “x” 刪除遊標所在該字元。
  2. “X” 刪除遊標所在之前一字元。
  3. “dd” 刪除一整行內容使用”dd”命令。刪除後下面的行會移上來填補空缺。
  4. “J” 刪除換行符。在Vim中你可以把兩行合併爲一行,也就是說兩行之間的換行符被刪除了。
  5. “D” 以行爲單位,刪除遊標後之所有字元。
  6. “yy”使遊標所在該行復制到記憶體緩衝區。
     

3. 複製命令

  1. 剪切、複製、刪除 
    1.”d” 剪切
    2.“y” 複製。
    3.“p” 粘帖,與 d 和 y 配和使用。可將最後d或y的資料放置於遊標所在位置之行列下。

     

  2. 移動文本 
    以”d”或”x”這樣的命令刪除文本時,被刪除的內容還是被保存了起來。
    你還可以用p命令把它取回來。
    ”P”命令是把被去回的內容放在光標之前,”p”則是放在光標之後。
    對於以”dd”刪除的整行內容,”P”會把它置於當前行的上一行。
    ”p”則是至於當前行的後一行。
    也可以對命令”p”和”P”命令使用命令記數。
    它的效果是同樣的內容被取回指定的次數。
    這樣一來”dd”之後的”3p”就可以把被刪除行的3 份副本放到當前位置。
    

     

  3. 複製文本(VIM編輯器內複製) 
    “y”操作符命令會把文本複製到一個寄存器3中。
    然後可以用”p”命令把它取回。
    因爲”y”是一個操作符命令,所以你可以用”yw”來複制一個word. 同樣可以使用命令記數。
    如下例中用”y2w”命令複製兩個word,”yy”命令複製一整行,”Y”也是複製整行的內容,
    複製當前光標至行尾的命令是”y$”。
    

     

4. 選中命令

  1. 查找與替換 
    % 查找“(”,“)”,“{”,“}”的配對符。 
    另外:將光標移動在選定單詞下方按*,
    則可以選中此單詞作爲查詢字符,可以避免輸入一長串字符的麻煩。
    
  2. (vim) 大小寫替換
    首先用按V開啓選擇功能,然後用↑↓←→鍵來選定所要替換的字符,若是小寫變大寫,則按U;反之按u; 
    如果是選擇單詞,則可以在按v後,按w,最後按U/u,這樣就可以將字符隨意的改變大小寫了,而不用刪除後重新敲入。

5. 光標移動

  1. “m”<a-z> 設置書籤
  2. “`”(在Esc鍵下面)< 移至書籤處
  3. “0” 移至該行之首
  4. “$” 移至該行之末。
  5. “e” 移動到下個字的最後一個字母
  6. “w” 移動到下個字的第一個字母。
  7. “b” 移動到上個字的第一個字母。
  8. “^” 移至該行的第一個字元處。
  9. “H” 移至視窗的第一行。
  10. “M” 移至視窗的中間那行。
  11. “L” 移至視窗的最後一行。
  12. “G” 移至該文件的最後一行。 用”G”命令指定一個命令計數,這個命令就會把光標定位到由命令計數指定的行上。比如”33G”就會把光標置於第33行上。沒有指定命令計數作爲參數的話, “G”會把光標定位到最後一行上。”gg”命令是跳轉到第一行的快捷的方法。
  13. “%” 另一個移動到某行的方法是在命令”%”之前指定一個命令計數比如”50%”將會把光標定位在文件的中間. “90%”跳到接近文件尾的地方。
  14. “+” 移至下一列的第一個字元處。
  15. “-” 移至上一列的第一個字元處。
  16. “n+” 移至遊標所在位置之後的第 n 列。
  17. “n-” 移至遊標所在位置之前的第 n 列。
  18. “Ctrl+g” 顯示該行之行號、文件名稱、文件中最末行之行號、遊標所在行號佔總行號之百分比。
  19. 移動到指定字符上 
    命令”fx”在當前行上查找下一個字符x(向右方向),可以帶一個命令計數”F”命令向左方向搜索。
    ”tx”命令形同”fx”命令,只不過它不是把光標停留在被搜索字符上,而是在它之前的一個字符上。
    提示:”t”意爲”To”。該命令的反方向版是”Tx”。這4個命令都可以用”;”來重複。
    以”,”也是重複同樣的命令,但是方向與原命令的方向相反。
    

     

  20. 滾屏 
    ”CTRL+U”顯示文本的窗口向上滾動了半屏。
    “CTRL+D”命令將窗口向下移動半屏。
    “CTRL+E”向上滾動一行。
    “CTRL+Y”向下滾動一行。
    “CTRL+F”向前滾動一整屏。
    “CTRL+B”向後滾動一整屏。
    “zz”命令會把當前行置爲屏幕正中央。
    “zt”命令會把當前行置於屏幕頂端。
    “zb”則把當前行置於屏幕底端.。
    

     

6. 功能命令

  1. Visual模式 
    1.v 從光標當前位置開始,光標所經過的地方會被選中,再按一下v結束。
    2.V 從光標當前行開始,光標經過的行都會被選中,再按一下V結束。
    3.Shift + v 從光標當前位置開始,選中光標起點和終點所構成的矩形區域,再按一下Shift + v結束。
    4.ggVG 選中全部的文本, 其中gg爲跳到行首,V選中整行,G末尾
    5.選中後就可以用編輯命令對其進行編輯,如 
        d 刪除
        y 複製 (默認是複製到”寄存器)
        p 粘貼 (默認從”寄存器取出內容粘貼)
        “+y 複製到系統剪貼板(也就是vim的+寄存器)
        “+p 從系統剪貼板粘貼
    

     

  2. 重複改動 
    “.”命令會重複上一次做出的改動。
    ”.”命令會重複你做出的所有修改,除了”u”命令CTRL-R和以冒號開頭的命令。
    ”.”需要在Normal模式下執行,它重複的是命令,而不是被改動的內容,

     

  3. 撤銷 
    如果你誤刪了過多的內容。
    顯然你可以再輸入一遍,但是命令”u” 更簡便,它可以撤消上一次的操作。

     

  4. 重做 
    如果你撤消了多次,你還可以用CTRL-R(重做)來反轉撤消的動作。
    換句話說,它是對撤消的撤消。
    撤消命令還有另一種形式,”U”命令,它一次撤消對一行的全部操作。
    第二次使用該命令則會撤消前一個”U”的操作。
    用”u”和CTRL-R你可以找回任何一個操作狀態。

     

  5. 使用命令計數 
    假設你要向上移動9行。
    這可以用”kkkkkkkkk”或”9k”來完成。
    事實上,很多命令都可以接受一個數字作爲重複執行同一命令的次數。
    比如剛纔的例子,要在行尾追加三個感嘆號,當時用的命令是”a!!!”。
    另一個辦法是用”3a!”命令。3說明該命令將被重複執行3次。
    同樣,刪除3個字符可以用”3x”。指定的數字要緊挨在它所要修飾的命令前面。
    

     

  6. 告訴你當前的位置 
    使用CTRL-G命令。
    ”set number”在每行的前面顯示一個行號。
    相反關閉行號用命令”:set nonumber”。
    ”:set ruler”在Vim窗口的右下角顯示當前光標位置。

     

7.標記命令

  1. 使用標記 
    當你用”G”命令從一個地方跳轉到另一個地方時,Vim會記得你起跳的位置。
    這個位置在Vim中是一個標記。
    使用命令”` `”可以使你跳回到剛纔的出發點。 
    “` `”命令可以在兩點之間來回跳轉。
    CTRL-O命令是跳轉到你更早些時間停置光標的位置(提示:O意爲older).
    CTRL-I則是跳回到後來停置光標的更新的位置(提示:I在鍵盤上位於O前面)。 
    注:使用CTRL-I 與按下鍵一樣。
    

     

  2. 具名標記 
    命令”ma”將當前光標下的位置名之爲標記”a”。
    從a到z一共可以使用26個自定義的標記。
    要跳轉到一個你定義過的標記,使用命令”`marks” marks就是定義的標記的名字。
    命令” `a”使你跳轉到a所在行的行首,”`a”會精確定位a所在的位置。
    命令:”:marks”用來查看標記的列表。 
    命令delm!刪除所有標記。
    

     

 

配置自定義vim快捷鍵

 

.ideavimrc 配置文件

其實很簡單,修改 ideavim 的配置文件 .ideavimrc 即可。默認情況下該文件並不存在,需要自行創建。macOS 或 Linux 下直接在當前用戶目錄下新建即可。(Windows 下應該也是在用戶目錄下新建配置文件,不過文件名應該是 _ideavimrc。)

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>

" Ctrl+某個按鍵
inoremap <C-h> <Left>
inoremap <C-j> <Down>
inoremap <C-k> <Up>
inoremap <C-l> <Right>
inoremap <C-a> <Home>
inoremap <C-e> <End>
inoremap <C-d> <Delete>

" 快速進入vim模式
inoremap jj <Esc>
inoremap jk <Esc>
inoremap kk <Esc>

" Quit visual mode
vnoremap v <Esc>


" Redo
nnoremap U <C-r>

" 以下是自定義快捷鍵-----------------

" 複製單個單詞並標記a鍵 ==>空格+y
nnoremap <Leader>y ma"+yiw"ayiw

" 刪除單個字符串並黏貼寄存器內容並標記b鍵 ==>空格+v
nnoremap <Leader>v mbviw"ap

" 以上是自定義快捷鍵-----------------

" 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配置文件講解

在.ideavim中,註釋寫法爲:

" xxx

第一條命令let mapleader=',' 就是vim命令調用模式要用到的命令,具體怎麼用,下面將會進行講解。

接下來的set開頭的命令,都是vim配置命令,比如搜索時開啓高亮,顯示行數等等。
然後就是命令nnoremap。
首先說一下命令map的意思:比如ctrl + d在命令模式是向下滾屏,在編輯模式是減少縮進(可能不準確),那麼如果使用命令map來覆蓋ctrl + d命令,則會將命令模式和編輯模式下的命令都給覆蓋掉。而nnoremap命令則只會覆蓋命令模式下的命令。這裏再講一下命令inoremap,這個命令表示的是在編輯模式下覆蓋命令,不過這個命令一般用得少。

自定義快捷鍵
比如命令: nohisearch,是指消除搜索之後的高亮顯示。如果定義自定義快捷鍵,則這樣定義:
nnoremap <Leader>sc :nohisearch<CR>
這裏的就是開頭定義的,。命令的前半部分nnoremap <Leader>sc代表的就是在命令模式下,使用命令,sc代替命令: nohisearch(是規定,具體啥意思我也沒查到)。所以在IDEA的編輯區在命令模式下使用命令,sc,就可以實現消除高亮的搜索結果
 

 

ideavim的action命令。

先來在idea中輸入命令```:actionlist``,然後回車即可看到非常多的action命令。很多命令都非常實用,比如

Go to Class	//打開查找類的搜索框
Go to File //打開查找File的搜索框

使用這些action命令,只需要輸入:

: action GotoClass

 

發佈了70 篇原創文章 · 獲贊 113 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章