vim - Vi IMproved,
一個程序員的文本編輯器
總覽 (SYNOPSIS)
vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]
ex
view
gvim gview
rvim rview rgvim rgview
描述 (DESCRIPTION)
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" 選項 進入
此模式.
選項 (OPTIONS)
所有選項 都可以 以
任何順序 出現, 可以
在文件名前, 也可以
在文件名後. 沒有
參數的 選項 可以
出現在 一個 "-"
後面.
- +[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" 開頭的 程序
同效.
- --
- 表明 選項結束.
在此之後的 參數
都會被認爲 是
文件名, 可以 用這個
來編輯 一個 以 '-' 開頭
的文件.
在線幫助 (ON-LINE HELP)
在 Vim 中鍵入 ":help"
來 獲得 幫助. 用 ":help
subject" 來 獲得 關於 一個
特定主題的 幫助. 例如
用 ":help ZZ" 來 獲得 關於
"ZZ" 的幫助. 用 <Tab> 和
CTRL-D 來 完成 幫助主題
(":help cmdline-completion"). 可以 用
標記 從 一個地方 跳到
另一個 地方 (有點像
超文本連接, 見 ":help").
所有的 文檔 都可以
這樣 來瀏覽, 比如 ":help
syntax.txt".
文件 (FILES)
- /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/>
作者 (AUTHOR)
Most of Vim 的大部分
都是 Bram Moolenaar 在 很多人的
幫助下 完成的. 見 ":help
credits".
雖然 不大會有 最早的
代碼存在, 但是 Vim
基於 Stevie 寫的代碼,
之後被 Tim Thompson, Tony Andrews and G.R. (Fred)
Walter 修改, 然後
才形成的.
錯誤 (BUGS)
多半都有. 用 ":help todo"
看 已知問題的 列表.
注意 有些 被
報告爲 錯誤的 事實上
是 應爲 太相信 所有的
行爲 都應該 同 Vi 一樣,
如果 你因爲 它 和 Vi
不一樣 而 認爲 它 是個
錯誤, 你 應該 好好
看看 vi_diff.txt 文件 (或者 在 Vim
中 鍵入 :help vi_diff.txt), 並且
看看 'compatible' 和 'cpoptions' 選項.
http://cmpp.linuxforum.net
跋
本頁面中文版由中文
man 手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh