NAME
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/>
參 見 (SEE ALSO)
作 者 (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’ 選 項 .
[中 文 版 維 護 人 ]
唐 友 <tony_ty [AT] 263.net>
[中 文 版 最 新 更 新 ]
2001年8月30日
[中 國 Linux論 壇 man手 冊 頁 翻 譯 計 劃 ]
跋
本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh