Manpages

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)

vimtutor(1)

作 者 (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手 冊 頁 翻 譯 計 劃 ]

http://cmpp.linuxforum.net

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh