vim [參數(shù)] [文件 ..] 編輯指定的文件或: vim [參數(shù)] - 從標準輸入(stdin)讀取文本或: vim [參數(shù)] -t tag 編輯 tag 定義處的文件或: vim [參數(shù)] -q [errorfile] 編輯第一個出錯處的文件
參數(shù):
-- 在這以后只有文件名-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 兼容傳統(tǒng)的 Vi: 'compatible'-N 不完全兼容傳統(tǒng)的 Vi: 'nocompatible'-V[N][fname] Be verbose [level N] [log messages to fname]-D 調(diào)試模式-n 不使用交換文件,只使用內(nèi)存-r 列出交換文件并退出-r(跟文件名) 恢復崩潰的會話-L 同 -r-A 以 Arabic 模式啟動-H 以 Hebrew 模式啟動-F 以 Farsi 模式啟動-T 設定終端類型為--not-a-term Skip warning for input/output not being a terminal-u 使用 替代任何 .vimrc--noplugin 不加載 plugin 腳本-P[N] 打開 N 個標簽頁 (默認值: 每個文件一個)-o[N] 打開 N 個窗口 (默認值: 每個文件一個)-O[N] 同 -o 但垂直分割+ 啟動后跳到文件末尾+ 啟動后跳到第 行--cmd 加載任何 vimrc 文件前執(zhí)行 -c 加載第一個文件后執(zhí)行 -S 加載第一個文件后執(zhí)行文件 -s 從文件 讀入正常模式的命令 -w 將所有輸入的命令追加到文件 -W 將所有輸入的命令寫入到文件 -x 編輯加密的文件 --startuptime Write startup timing messages to -i 使用 取代 .viminfo -h 或 --help 打印幫助(本信息)并退出 --version 打印版本信息并退出
編輯器模式:
Vi有三種基本工作模式:
命令行模式
任何時候,不管用戶處于何種模式,只要按一下ESC鍵,即可使Vi進入命令模式;我們在shell環(huán)境(提示符為$)下輸入啟動Vi命令,進入編輯器時,也是處于該模式下。在該模式下,用戶可以輸入各種合法的Vi命令,用于管理自己的文檔。此時從鍵盤上輸入的任何字符都被當做編輯命令來解釋,若輸入的字符是合法的Vi命令,則Vi在接受用戶命令之后完成相應的動作。但需注意的是,所輸入的命令并不在屏幕上顯示出來。若輸入的字符不是Vi的合法命令,Vi會響鈴報警。
文本輸入模式
在命令模式下輸入插入命令i、附加命令a 、打開命令o、修改命令c、取代命令r或替換命令s都可以進入文本輸入模式。在該模式下,用戶輸入的任何字符都被Vi當做文件內(nèi)容保存起來,并將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按鍵ESC即可。
末行模式
末行模式也稱ex轉(zhuǎn)義模式。在命令模式下,用戶按“:”鍵即可進入末行模式下,此時Vi會在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個“:”作為末行模式的提示符,等待用戶輸入命令。多數(shù)文件管理命令都是在此模式下執(zhí)行的(如把編輯緩沖區(qū)的內(nèi)容寫到文件中等)。末行命令執(zhí)行完后,Vi自動回到命令模式。例如:
:sp newfile
則分出一個窗口編輯newfile文件。如果要從命令模式轉(zhuǎn)換到編輯模式,可以鍵入命令a或者i;如果需要從文本模式返回,則按Esc鍵即可。在命令模式下輸入“:”即可切換到末行模式,然后輸入命令。
進入插入模式:
i: 插入光標前一個字符I: 插入行首a: 插入光標后一個字符A: 插入行未o: 向下新開一行,插入行首O: 向上新開一行,插入行首
進入命令模式:
ESC:從插入模式或末行模式進入命令模式移動光標:h: 左移j: 下移k: 上移l: 右移M: 光標移動到中間行L: 光標移動到屏幕最后一行行首G: 移動到指定行,行號 -Gw: 向后一次移動一個字b: 向前一次移動一個字{: 按段移動,上移}: 按段移動,下移Ctr-d: 向下翻半屏Ctr-u: 向上翻半屏Ctr-f: 向下翻一屏Ctr-b: 向上翻一屏gg: 光標移動文件開頭G: 光標移動到文件末尾
刪除命令:
x: 刪除光標后一個字符,相當于Del X: 刪除光標前一個字符,相當于 Backspacedd: 刪除光標所在行,n dd 刪除指定的行數(shù)D: 刪除光標后本行所有內(nèi)容,包含光標所在字符d0: 刪除光標前本行所有內(nèi)容,不包含光標所在字符dw: 刪除光標開始位置的字,包含光標所在字符
撤銷命令:
u: 一步一步撤銷Ctr-r: 反撤銷
重復命令:
.: 重復上一次操作的命令文本行移動:>>: 文本行右移<: 文本行左移="" 復制粘貼:="" yy:="" 復制當前行,n="" yy="" 復制="" n="" 行="" p:="" 在光標所在位置向下新開辟一行,粘貼="" 可視模式:="" v:="" 按字符移動,選中文本="" v:="" 按行移動,選中文本可視模式可以配合="" d,="" y,="">>, < 實現(xiàn)對文本塊的刪除,復制,左右移動替換操作:r:="" 替換當前字符r:="" 替換當前行光標后的字符查找命令:/:="" str查找n:="">
替換命令:
把abc全部替換成123末行模式下,將當前文件中的所有abc替換成123:%s/abc/123/g末行模式下,將第一行至第10行之間的abc替換成123:1, 10s/abc/123/gvim里執(zhí)行 shell 下命令:末行模式里輸入!,后面跟命令