vim - Vi IMproved,
一個程式設計師的文字編輯器
vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]
ex
view
gvim gview
rvim rview rgvim rgview
Vim 是 一個 同 Vi
向上相容的 文字
編輯器, 可以 用來 編輯
任何 ASCII 文字, 特別 適合
用來 編輯 程式.
它對 Vi 作了 許多 增強:
多層撤銷, 多視窗,
多緩衝區(buffer), 高亮度
語法顯示, 命令列編輯,
檔名匹配, 線上幫助,
可視選定, 等等. 用 ":help
vi_diff.txt" 看
Vim 和 Vi 的差別
的 摘要.
在執行
Vim 的時候
可以用 ":help" 命令 獲得
很多 幫助. 參考 下面的
線上幫助 一節.
一般 可用
vim file
命令 開啟
Vim 來 編輯
一個 檔案. 概括的說,
可以用
vim [options] [filelist]
命令 來執行
Vim . 如果
沒有 檔名, 編輯器 就會
開啟 一個 空的 緩衝區.
否則 就會用 下面
四個中的一個 來選擇
要編輯的 檔案.
- file ..
- 檔名列表. 第一個
會 作為 當前 檔案
讀入 緩衝區, 游標 會
停在 緩衝區的
第一行. 你 可以用
":next" 命令 轉到
其它的 檔案. 如果
要編輯 一個以 "-"
開頭的 檔案. 在檔案
列表 前面 加上 "--".
- -
- 從 標準輸入 讀取
被編輯的 檔案. 從
標準 錯誤輸出 (應該
是個 終端) 讀入 命令.
- -t {tag}
- 被 編輯的 檔案 和
游標的 初始位置 由
標記 (tag) 決定, 標記
有點像 一種 goto 標籤 (goto
label). 在 標記檔案中 找到
標記, 相應的 檔案
成為 當前檔案,
相應的 命令 被執行.
這種方式 常用於 C
程式, 標記 就是
函式名, 當前檔案
就是 包含 那個函式的
檔案, 游標 停留在
函式的 開始處. 見 ":help
tag-commands"。
- -q [errorfile]
- 執行時 進入
快速修復模式. 讀取
[errorfile] 檔案 並顯示
第一個 錯誤. 如果
沒有 [errorfile] 檔案, 檔名 由
'errorfile' 選項 決定 (在 Amiga 為
"AztecC.Err", 在 其他系統中
為 "errors.vim"). 可以 用
":cn" 命令 跳到
其它錯誤處. 見 ":help
quickfix"。
Vim 會 根據 不同命令 有
不同的 表現, 儘管 它們
可能 是 一個 可執行
檔案.
- vim
- 正常 模式, 所有
都是 預設狀態.
- ex
- 以 Ex 模式 執行. 用
":vi" 命令 進入
正常模式. 也可以
加上 "-e" 選項 進入
此模式.
- view
- 以 只讀模式 執行.
你被禁止 寫檔案.
也可以 加上 "-R" 選項
進入 此模式.
- gvim gview
- GUI 版本。 開啟
一個 新的視窗.
也可以 加上 "-g" 選項
進入 此模式.
- rvim rview rgvim rgview
- 同 上面的 相同,
只是 加上了 限制,
不能執行 shell 程式, 也
不能 暫停 Vim . 也 可以
加上 "-Z" 選項 進入
此模式.
所有選項 都可以 以
任何順序 出現, 可以
在檔名前, 也可以
在檔名後. 沒有 引數的
選項 可以 出現在 一個
"-" 後面.
- +[num]
- 對於 第一個 檔案,
游標 會停在 第 "num"
行. 如果 沒有 "num" , 則
游標 會停在
最後一行.
- +/{pat}
- 對於 第一個檔案,
游標 會停在 {pat} 第一次
出現的 地方. 搜尋
模式 見 ":help search-pattern"。
- +{command}
- -c {command}
- 讀入 第一個
檔案後 會 執行 {command}
命令. {command} 應為 Ex 命令.
如果 {command} 中 包含有
空格, 必須 用雙引號
括住
(這個取決於所用的 shell).
例: Vim "+set si" main.c
注意: 你 最多 可以用 10
個 "+" 或者 "-c"
命令.
- -b
- 二進位制模式.
設定 一些選項, 這樣
就可以 用來 編輯
二進位制 和 可執行
檔案 了.
- -C
- 相容. 設定 'compatible'
選項. 這樣 就算 存在
.vimrc 檔案 Vim 也會
基本上 象 Vi 一樣了.
- -d {device}
- 開啟 {device}
用作終端, 只在 Amiga
下。 例: "-d con:20/30/600/150".
- -e
- 以 Ex 模式 執行 Vim
, 就像 執行 "ex"
一樣。
- -f
- 前臺 執行。 對於
GUI 版本, Vim 不會
同執行它的 shell 分離。
在 Amiga 中, Vim 不會
重新啟動 來 開啟一個
新視窗. 這個選項
會用在當 Vim 被
另外一個 程式執行,
並且 這個程式
想等編輯動作 結束後
再執行 的 時候 (如 mail).
在 Amiga 上 ":sh" 和 ":!"
不會起作用.
- -F
- 如果 Vim 編譯時
加入了 對 從右到左
書寫的 檔案 FKMAP 以及 Farsi
鍵盤對映 的支援, Vim
會 以 Farsi 模式 執行,
比如 設定 'fkmap' 和 'rightleft'
選項.不然 Vim 會 顯示
一條 錯誤資訊 並
終止.
- -g
- 如果 Vim 編譯時
加入 GUI 支援, 會開啟 GUI,
不然 Vim 會 顯示 一條
錯誤資訊 並 終止.
- -h
-
Vim 顯示 命令列
引數 和 選項的 幫助,
然後 終止.
- -H
- 如果 Vim 編譯時
加入了 對 從右到左
書寫的 檔案 RIGHTLEFT 以及
Hebrew 鍵盤對映 的支援,
Vim 會以 Hebrew 模式 執行,
比如 設定 'hkmap' 和 'rightleft'
選項. 不然 Vim 會 顯示
一條 錯誤資訊 並
終止.
- -i {viminfo}
- 准許 使用 viminfo 檔案,
這個 選項 設定
使用的 檔名, 預設的
是 "~/.viminfo". 用 "NONE"
檔名 也可以 跳過
使用 .viminfo 檔案.
- -L
- 同 -r 一樣.
- -l
- Lisp 模式. 開啟 'lisp' 和
'showmatch' 選項.
- -m
- 禁止 修改檔案.
設定 'write' 選項, 這樣
就不能 寫檔案了.
- -N
- 非相容 模式. 設定
'compatible' 選項. 這樣 Vim 會
表現得 更好, 就算 .vimrc
檔案 不存在 也會 同 Vi
不相容.
- -n
- 禁止 交換檔案,
這樣 在崩潰後 就
不能 恢復 檔案了.
對於 編輯 在很慢的
媒體中的 檔案
很有好處 (比如軟盤),
也可以 用 ":set uc=0"
禁止交換, 用 ":set uc=200"
開啟 交換.
- -o[N]
- 開啟 N 個視窗.
如果沒有 N, 為
每個檔案 開一個
視窗.
- -R
- 只讀 模式. 設定
'readonly' 選項. 你 仍然 可以
編輯 緩衝區, 但是
不能 重寫檔案. 如果
你要 重寫檔案,
必須在 Ex 命令中
用驚歎號, 比如 ":w!". -R
選項 隱含了 -n 選項
(見下). 'readonly' 選項 可以 用
":set noro" 設定. 見 ":help
'readonly'".
- -r
- 列出 交換檔案,
顯示 關於 恢復檔案的
資訊.
- -r {file}
- 恢復 模式.
交換檔案 是 用來
恢復 在 編輯過程中
崩潰了的 檔案. 交換
檔名 是 被編輯檔名
後面 加上 ".swp". 見 ":help
recovery".
- -s
- 安靜 模式. 只在
用 "Ex" 啟動 或者 用了
"-e" 選項 才有用.
- -s {scriptin}
- 讀入 指令碼檔案
{scriptin}. 檔案裡的 字元
就像 你 直接 輸入
一樣的, 也 可以 用
":source! {scriptin}" 命令 實現
這個功能. 如果 在
編輯器 結束前 就
讀到了 檔案尾, 就
接著 從鍵盤 讀入.
- -T {terminal}
- 告訴 Vim 你 用的
終端的 名字, 只有 當
不能 自動確定 的時候
才這樣. 它 必須是 Vim
(builtin) 能辨認的 終端
或者是 在 termcap 或者 terminfo
檔案中 定義了的.
- -u {vimrc}
- 用 {vimrc} 檔案 裡的
命令 來初始化, 跳過
所有 其它的 初始化,
用 這個 來編輯
特殊型別的 檔案.
也可以 用 "NONE" 來
跳過 所有初始化. 在 vim
中 用 ":help initialization" 檢視
更多資訊.
- -U {gvimrc}
- 用 {gvimrc} 檔案 裡的
命令 來初始化 GUI, 跳過
所有 其它的 GUI 初始化,
也 可以 用 "NONE"
來跳過 所有 GUI 初始化.
在 vim 中 用 ":help gui-init" 檢視
更多資訊.
- -V
- 冗長 顯示. 顯示
執行 初始化程式碼 和
讀入的 檔案, 並且 寫
viminfo 檔案.
- -v
- 以 Vi 模式執行 Vim ,
就像 執行 "vi" 一樣,
只有 執行 "ex" 時
才有用.
- -w {scriptout}
- 所有 在 Vim
退出前 你鍵入的 字元
都會被 存入 {scriptout} 檔案.
這 用來 建立一個
指令碼檔案, 你
可以用 "vim -s" 和 ":source!"
來使用. 如果 {scriptout} 存在,
會 把 字元 追加到
後面.
- -W {scriptout}
- 同 -w 一樣, 但是
是覆蓋 原來的檔案.
- -x
- 寫檔案時 加密.
會提示你 輸入密碼.
- -Z
- 受限 模式. 同執行
以 "r" 開頭的 程式
同效.
- --
- 表明 選項結束.
在此之後的 引數
都會被認為 是 檔名,
可以 用這個 來編輯
一個 以 '-' 開頭
的檔案.
在
Vim 中鍵入 ":help" 來
獲得 幫助. 用 ":help subject" 來
獲得 關於 一個
特定主題的 幫助. 例如
用 ":help ZZ" 來 獲得 關於
"ZZ" 的幫助. 用 <Tab> 和 CTRL-D
來 完成 幫助主題 (":help
cmdline-completion"). 可以 用 標記 從
一個地方 跳到 另一個
地方 (有點像
超文字連線, 見 ":help").
所有的 文件 都可以
這樣 來瀏覽, 比如 ":help
syntax.txt".
- /usr/share/vim/vim56/doc/*.txt
-
Vim 文件檔案. 用
":help doc-file-list" 獲得 完整的
列表.
- /usr/share/vim/vim56/doc/tags
- 在 文件檔案中
查詢資訊 用的
標籤檔案.
- /usr/share/vim/vim56/syntax/syntax.vim
- 系統 語法 初始化
檔案.
- /usr/share/vim/vim56/syntax/*.vim
- 各種語言的
語法檔案.
- /usr/share/vim/vimrc
- 系統 Vim
初始化檔案.
- /usr/share/vim/gvimrc
- 系統 gvim
初始化檔案.
- /usr/share/vim/vim56/optwin.vim
- ":options" 命令
所用的 指令碼檔案,
這是個 檢視 和
設定選項的 很好的
辦法.
- /usr/share/vim/vim56/menu.vim
- gvim 的 系統選單
初始化檔案.
- /usr/share/vim/vim56/bugreport.vim
- 用來 生成
錯誤報告的
指令碼檔案, 見 ":help
bugs".
- /usr/share/vim/vim56/filetype.vim
- 根據 檔名 來判定
檔案型別 的
指令碼檔案, 見 ":help
'filetype'".
- /usr/share/vim/vim56/scripts.vim
- 根據 檔案內容
來判定 檔案型別 的
指令碼檔案, 見 ":help
'filetype'".
最新 資訊 參見 VIM 主頁:
<URL:
http://www.vim.org/>
vimtutor(1)
Most of
Vim 的大部分 都是 Bram
Moolenaar 在 很多人的 幫助下
完成的. 見 ":help credits".
雖然 不大會有 最早的
程式碼存在, 但是
Vim
基於 Stevie 寫的程式碼,
之後被 Tim Thompson, Tony Andrews and G.R. (Fred)
Walter 修改, 然後 才形成的.
多半都有. 用 ":help todo" 看
已知問題的 列表.
注意 有些 被 報告為
錯誤的 事實上 是 應為
太相信 所有的 行為
都應該 同 Vi 一樣, 如果
你因為 它 和 Vi 不一樣
而 認為 它 是個 錯誤, 你
應該 好好 看看 vi_diff.txt
檔案 (或者 在 Vim 中 鍵入
:help vi_diff.txt), 並且 看看 'compatible' 和
'cpoptions' 選項.
唐友 <[email protected]>
2001/8/30
http://cmpp.linuxforum.net
本頁面中文版由中文 man
手冊頁計劃提供。
中文 man 手冊頁計劃:
https://github.com/man-pages-zh/manpages-zh