配置文件設置 set number (設置行號) set nocompatible (設置不相容vi模式,不設置會導致許多vim特性被禁用) set clipboard=unnamed (設置普通的複製粘貼的內容和vim複製的內容相互使用) 打開、編輯,查找文件 vim + 任意文件名,如vim f ...
配置文件設置
- set number (設置行號)
- set nocompatible (設置不相容vi模式,不設置會導致許多vim特性被禁用)
- set clipboard=unnamed (設置普通的複製粘貼的內容和vim複製的內容相互使用)
打開、編輯,查找文件
- vim + 任意文件名,如vim file.txt, 直接編輯文件, 不存在則創建文件
- 已經打開了vim的情況,使用:edit + 文件名編輯其他文件, :edit file.txt
- :edit *.txt
<tab>
查找當前目錄以txt結尾的文件,使用tab補全提示,左右切換選擇文件 - :edit **/*.txt
<tab>
查找當前項目 (多個目錄)的所有帶txt尾碼的文件 - :edit ./ 列出當前目錄所有的文件,edit後傳目錄名參數
- :find *.txt 同樣是查找以txt結尾的文件
保存、退出
- :w (保存文件)
- :w file.txt (vim直接進入的終端,新建的文件保存,給出文件名)
- :wq (保存並退出vim)
- :q! (不保存強行退出)
移動命令
- h (左)
- j (下)
- k (上)
- l (右)
複製、粘貼、剪切/刪除、撤銷、取消撤銷
- y (複製)
- yw (向右複製一個單詞)
- yb (向左複製一個單詞,不包含自身)
- vy (複製當前游標對應的字母)
- y$ (複製當前字元到行尾)
- y^ (複製當前字元到行首 )
- yG (從當前位置複製到文件結尾)
- yf+(任意字元), (從當前字元複製到任意字元)
- yy (複製當前一整行)
- p (粘貼)
- p (粘貼到游標所在行的下方)
- shift + p 或者叫大寫的P (粘貼到游標所在行的上方)
- d (剪切/刪除)
- vd/x (刪除當前游標所在的字元)
- dw (刪除游標右邊的單詞)
- db (刪除游標左邊的單詞)
- d$ (刪除從當前游標到行尾)
- d^ (刪除當前游標到行首)
- dG (刪除從當前行到文件結尾)
- df+(任意字元) 或 vf+(任意字元)+d (刪除從當前字元到任意字元)
- diw/daw (游標在單詞任意位置時,可以刪除完整單詞)
- dd (刪除當前一整行)
- d操作後,按p,就是剪切
- u (撤銷)
- u (相當於ctrl + z)
- ctrl + r (取消撤銷,相當於ctrl + y)
選中
- v (選中當前游標的字元)
- ctrl + v (選中多列/垂直選取)
- shift + v (選中多行/水平選取)
- viw (選中當前游標位置的整個單詞)
- viw + d / y (選中之後可以刪除、複製)
跳轉
- w (向右跳轉一個單詞)
- b (向左跳轉一個單詞)
- ^ (跳到行首的非空字元)
- 0 (跳到行首的第一個字元)
- $ (跳到行尾)
- gg (跳到文件最頂部)
- shift + g 或者叫 G (跳到文件最底部),引申的命令:ggvG (全選)-解釋:選中最頂部到最底部,即全選
- nG (n表示行號,例:16G,表示跳到16行)
- 50% (跳到文件的中間位置)
- n% (跳到文件的對應的比例位置)
- ctrl + f (向下翻頁)
- ctrl + b (向上翻頁)
- ctrl + d (向下翻半頁)
- ctrl + u (向上翻半頁)
行內搜索
- f + (任意字元), 向右搜索,(游標會跳到搜索到的第一個字元)
- shift + f + (任意字元), 向左搜索,(游標會跳到搜索到的第一個字元)
- f + (任意字元) + ; (;表示在同一行向後重覆搜索匹配的字元)
- f + (任意字元) + , (,表示在同一行向前重覆搜索匹配的字元)
換行
- o (向下換行)
- shift + o 或者叫O (向上換行)
插入模式
- i (游標在游標字元的前面)
- a (游標在游標字元的後面)
大小寫轉換
- gU + 任何位置,如:$、w、G、f + 任何字元,當前選中的單詞轉換為大寫
- gu + 任何位置,如:$、w、G、f + 任何字元,當前選中的單詞轉換為小寫
文件內搜索
- / + 任何字元, 從前往後搜索, (游標會停留在第一個匹配的字元,按n匹配下一個,shift + n 匹配上一個)
- ? + 任何字元, 從後往前搜索, (游標會停留在第一個匹配的字元,按n匹配下一個,shift + n 匹配上一個)
- / 和 ? 兩者是相反的操作
括弧匹配
- % (當有多對括弧時,會跳到對應的左括弧/右括弧, 適用於:(), [], {}, <>)
綜合應用
- 如v + f + (任意字元) + d / y:表示先選中當前字元,再通過f + 搜索任意字元, 此時,游標會跳到匹配的字元, 按d刪除,或按y複製
- v + i + ( 會選中小括弧的內容,右括弧也可以
- v + i + [ 會選中中括弧的內容,右括弧也可以
- v + i + { 會選中花括弧的內容,右括弧也可以
- di( 刪除括弧中的內容, 右括弧也可以
- da( 刪除選中的內容並且包括括弧本身, 右括弧也可以
退出插入模式
- ESC