文字編輯器VIM
阿新 • • 發佈:2019-08-23
前言:
最近整理一些以前的學習筆記。
過去都是儲存在本地,此次傳到網路留待備用。\
VIM
- VIM是VI編輯器的強化版
- VIM具有程式編輯的能力,可以主動的以字型顏色辨別語法的正確性,方便程式設計
- 支援補全(ctrl+p , ctrl+n)
vim鍵盤圖
vim的使用
-
vim命令的使用
- 語法:
vim [選項] [檔案 ..] 編輯指定的檔案 vim [選項] - 從標準輸入(stdin)讀取文字 vim [選項] -t tag 編輯 tag 定義處的檔案 vim [選項] -q [errorfile] 編輯第一個出錯處的檔案 ps: -若目標檔案不存在,則新建空檔案並編輯,不能在未建立的目錄下儲存 -若目標檔案已存在,則開啟此檔案並編輯
- 選項:
+ 啟動後跳到檔案末尾 +<lnum> 啟動後跳到第 <lnum> 行 -P[N] 開啟 N 個標籤頁 (預設值: 每個檔案一個) -o[N] 開啟 N 個視窗 (預設值: 每個檔案一個) -O[N] 同 -o 但垂直分割 --noplugin 不載入 plugin 指令碼 -- 在這以後只有檔名 -v Vi 模式 (同 "vi") -e Ex 模式 (同 "ex") -E Improved Ex mode -s 安靜(批處理)模式 (只能與 "ex" 一起使用) -d Diff 模式 (同 "vimdiff") -y 容易模式 (同 "evim",無模式) -R 只讀模式 (同 "view") -Z 限制模式 (同 "rvim") -m 不可修改(寫入檔案) -M 文字不可修改 -b 二進位制模式 -l Lisp 模式 -C 相容傳統的 Vi: 'compatible' -N 不完全相容傳統的 Vi: 'nocompatible' -V[N][fname] 詳細模式 [冗餘級別 N] [輸出日誌訊息到fname] -D 除錯模式 -n 不使用交換檔案,只使用記憶體 -r 列出交換檔案並退出 -r (跟檔名) 恢復崩潰的會話 -L 同 -r -A 以 Arabic 模式啟動 -H 以 Hebrew 模式啟動 -F 以 Farsi 模式啟動 -T <terminal> 設定終端型別為 <terminal> -u <vimrc> 使用 <vimrc> 替代任何 .vimrc --cmd <command> 載入任何 vimrc 檔案前執行 <command> -c <command> 載入第一個檔案後執行 <command> -S <session> 載入第一個檔案後執行檔案 <session> -s <scriptin> 從檔案 <scriptin> 讀入正常模式的命令 -w <scriptout> 將所有輸入的命令追加到檔案 <scriptout> -W <scriptout> 將所有輸入的命令寫入到檔案 <scriptout> -x 編輯加密的檔案 --startuptime <file> Write startup timing messages to <file> -i <viminfo> 使用 <viminfo> 取代 .viminfo -h 或 --help 列印幫助(本資訊)並退出 --version 列印版本資訊並退出
- 語法:
-
VI/VIM的工作模式
- 命令模式(Command mode)
- 輸入模式(Insert mode)
- 末行模式(Last line mode)
-
命令模式:
- 啟動vim後預設進入命令模式
- 批量註釋:
ctrl + v 進入可視塊,選中需要註釋的行 I 進入輸入模式,並跳轉到檔案頭 # 註釋 ESC 按兩次,結束
- 命令模式下敲擊鍵盤會被識別為命令,而非輸入字元,如: 字元 | 意義 | ------------ | ------------ | i | 切換到輸入模式 I | 切換到輸入模式,並跳轉到檔案頭 a | 切換到輸入模式,並跳轉到當前游標的下一個字元 A | 切換到輸入模式,並跳轉到當前游標所在行末尾的下一個字元 o | 切換到輸入模式,並在當前游標所在行下插入一行且跳轉 O | 切換到輸入模式,並在當前游標所在行上插入一行且跳轉 : | 切換到末行模式 h,j,k,l | 移動游標 左,下,上,右 yy | 複製游標當前所在的一行 nyy | 複製n行 p | 貼上到當前游標的下一行 P | 貼上到當前游標的上一行 dd | 刪除游標當前所在行 ndd | 刪除n行 D | 刪除游標所在行的內容 nD | 刪除n行 gg | 移動游標到檔案頭 ngg | 移動游標到n行 G | 移動游標到檔案尾 nG | 移動游標到n行 x | 刪除當前游標下的字元 u | 撤銷一步 ^ | 游標跳到行首 $ | 游標跳到行尾 d^ | 刪除到行首 d$ | 刪除到行尾 ZZ | 儲存並退出
-
輸入模式(插入模式):
按鍵 | 意義 | ------------ | ------------ | HOME/END | 移動游標到行首/行尾 Page Up/Page Down | 上/下翻頁 Insert | 切換游標為輸入/替換模式,游標將變成豎線/下劃線 ESC | 退出輸入模式,切換到命令模式
-
末行模式:
字元 | 意義 | ------------ | ------------ | :n | 切換到下一個檔案 :N | 切換到上一個檔案 :w | 儲存 :wq | 儲存當前檔案並退出 :q | 退出 :q! | 強行退出且不儲存 :sp | 分屏顯示(ctrl+w+上下切屏) :r 檔案路徑 | read檔案到當前檔案所在游標的下一行 :w 檔案路徑 | 另存為 :s/舊/新/ | 新替換舊的內容,游標所在行的第一個匹配 :s/舊/新/g | 新替換舊的內容,游標所在行的所有內容匹配 :%s/舊/新/ | 新替換舊,所有行的第一個匹配 :%s/舊/新/g | 新替換舊,所有行的所有內容 :n,ms/舊/新/g | 替換第n到m行的所有內容 :set nu | 顯示行號 :set nonu | 不顯示行號 :set paste | 貼