vim讓編程小操做6到飛起

  vim是一款強大的編輯器,作過Linux c開發的同窗應該很是熟悉,java相關的開發人員在Linux修改部署的配置文件等也是常常會使用到vim,本文將vim中經常使用操做進行整理,供你們參考使用.java

進入vim

1.Linux命令行/git bash命令行等終端類工具可直接輸入vi filename回車進入:
image.png
image.pnggit

2.安裝IdeaVim插件後的IDEA編輯區即進入vim操做區.shell

vim三種模式

輸入模式(insert mode)
在輸入模式下,用戶可輸入文本數據
- 在指令模式下,輸入指令(`a、i、o、s`等)進入輸入模式
指令模式(command mode)
在指令模式下,可進行刪除、修改等各類編輯動做.
- 在輸入模式&末行模式下,按esc鍵進入指令模式.
末行模式(Last Line Mode)
在末行模式主要進行一些文字編輯輔助功能,好比字串搜索、替代、保存文件等操做
- 在末行模式,按esc進入指令模式

指令模式下經常使用指令

進入輸入模式

重要度 指令集 功能
*** a 在當前遊標以後輸入
* A 在當前行之末輸入
*** i 在當前遊標以前輸入
* I 在當前行之首輸入
*** o 在當前行之下新增一行,並在新增行輸入
* O 在當前行之上新增一行,並在新增行輸入
輸入結束後,按Esc鍵退出輸入模式

遊標移動

重要度 指令集 功能
*** h 向左移動一個字元
*** l 向右移動一個字元
*** j 向下移動一個字元
*** k 向上移動一個字元
* b 左移一個單詞,至詞首
* w 右移一個單詞,至詞尾
* 0 移到當前行行首
* $ 移到當前行行尾
  + 移至下一行的行首
  - 移至下一行的行首
  H 移至視窗的第一行
  M 移至視窗的中間一行
  L 移至視窗的最後一行
  G 移至該文件的最後一行
  nG 移至該文檔的第n行
  n+ 下移n行
  n- 上移n行
  gg 回到開頭
  Shift+g 回到結尾

視窗移動

重要度 指令集 功能
*** Ctrl + f 視窗下卷一頁
*** Ctrl + b 視窗上卷一頁
  Ctrl + d 視窗下卷半頁
  Ctrl + u 視窗上卷半頁
* Ctrl + e 視窗下卷一行
* Ctrl + y 視窗上卷一行

刪除操做

重要度 指令集 功能
*** x 刪除遊標所在字元
  X 刪除遊標前一字元
* dw 從遊標當前位置開始向後刪除一個單詞
  db 從遊標當前位置開始向前刪除一個單詞
* d0 從行首刪除至當前遊標位置
* d$ 從遊標當前位置刪除至行尾
*** dd 刪除遊標所在行
  D 同d$

修改操做

重要度 指令集 功能
*** s 修改遊標所在字元,修改完成後按Esc鍵結束
  S 修改整行內容,修改完成後按Esc鍵結束
* r 替換當前遊標所在字元
* R 進入替換狀態,直至按Esc鍵結束
* cw 修改一個單詞(從遊標位置至詞尾)
  cb 修改一個單詞(從詞首至遊標位置)
* cc 修改整行內容,完成後按Esc鍵結束,同S
* c0 修改行首至遊標位置的內容
* c$ 修改遊標位置至行尾的內容
* ~ 遊標所在字元大小寫切換

指令重複

在指令模式中,可在指令前面加入一個數字n,則該指令會重複執行n次
重要度 指令集 功能
*** nx 刪除n個字元
*** ndd 刪除n行
*** ns 修改n個字元

取消/重複前一動做(Undo/Redo)

重要度 指令集 功能
*** u 撤消上一指令的結果
*** . 重複上一條指令

查找字符串

重要度 指令集 功能
*** /字符串 從當前遊標向後查找該字符串
*** ?字符串 從當前遊標向前查找該字符串
*** n 從當前遊標向後查找下一個字符串
*** N 從當前遊標向前查找下一個字符串

查看編輯狀況

重要度 指令集 功能
*** Ctrl + g 顯示正在編輯的文件名、當前遊標所在行數、文件總行數、文件是否被修改

括號匹配

重要度 指令集 功能
*** % 定位到匹配的「(」、「)」、「{」、「}」

末行模式下經常使用操做

保存與退出

重要度 指令集 功能
*** :w 保存,但不退出
*** :wq 保存並退出
*** :x 同:wq
*** :q 退出,若是當前文件沒有保存,禁止退出
*** :q! 不保存退出
*** :w file.txt 將內容保存至文件file.txt中,注意:此時編輯的仍爲原文件
* w! file.txt 將內容強制保存至文件file.txt中,如文件file.txt存在:w file.txt將禁止執行

環境設置

重要度 指令集 功能
* :set 顯示已設置的環境情況
* :set all 顯示全部的環境設置選項
* :set nu 顯示行號
* :set nonu 不顯示行號
* :set ts=n 設置Tab鍵的長度爲n

執行命令

如下用具體的數字爲例進行介紹,數字表示行數,遊標所在行可用「.」代替,文件最後一行可用「$」代替vim

重要度 指令集 功能
* :10,20d 刪除第10行至第20行的內容
* :10d 刪除第10行的內容
* :%d 刪除所有內容
*** :10,20co30 將第10行至第20行的內容複製到第30行以後
* :10,20mo30 將第10行至第20行的內容移動到第30行以後
*** :1,$s/old/new 將第1行至最後一行中的old替換成new
*** :1,$s/^/new 將第1行至最後一行的內容前面插入new
* :10 將遊標移至第10行

切換到shell狀態

重要度 指令集 功能
*** :sh 切換到shell狀態,shell命令行輸入exit返回vim

另附一張vim跳轉圖供參考

vim.png

相關文章
相關標籤/搜索