Man page - vim(1)

Packages contains this manual

Available languages:

en fr it pl da tr ja ru zh_TW zh_CN de

Manual

VIM

名 稱
概 述
描 述
選 項 (OPTIONS)
線 上 幫 助 (ON-LINE HELP)
檔 案
參 見
作 者
缺 陷
[中 文 版 原 維 護 人 ]
[中 文 版 原 最 新 更 新 ]
[原 中 國 Linux論 壇 man手 冊 頁 翻 譯 計 劃 ]


名 稱

vim - Vi IMproved, 一 個 程 式 設 計 師 的 文 字 編 輯 器

概 述

vim [options] [file ..]
vim
[options] -
vim
[options] -t tag
vim
[options] -q [errorfile]

ex
view
gvim gview evim eview
rvim rview rgvim rgview

描 述

Vim 是 一 個 同 Vi 向 上 相 容 的 文 字 編 輯 器 。 它 可 以 用 來 編 輯 任 何 純 文 字 。 它 特 別 適 合 用 來 編 輯 程 式 。

它 對 Vi 作 了 許 多 增 強 : 多 層 撤 銷 、 多 視 窗 、 多 緩 衝 區 (buffer)、 高 亮 語 法 顯 示 、 命 令 列 編 輯 、 檔 名 補 全 、 線 上 幫 助 、 可 視 選 擇 等 等 。 請 用 ":help vi_diff.txt" 檢 視 Vim 和 Vi 之 間 差 別 的 摘 要 。

在 執 行 Vim 的 時 候 , 可 以 用 ":help" 命 令 獲 得 很 多 幫 助 資 訊 。 請 參 考 下 面 的 “線 上 幫 助 ”一 節 。

通 常 情 況 下 , vim 使 用 直 接 把 檔 名 作 為 引 數 的 方 法 來 編 輯 檔 案 :

vim 檔 名

更 通 用 地 來 說 , Vim 使 用 下 述 方 式 從 命 令 列 啟 動 :

vim [選 項 ] [檔 案 列 表 ]

如 果 沒 有 給 定 檔 案 , 則 編 輯 器 會 開 啟 一 個 空 的 緩 衝 區 。 否 則 就 會 用 下 面 四 個 中 的 一 個 方 式 來 選 擇 要 編 輯 的 檔 案 。

檔 案 ..

檔 名 列 表 。 第 一 個 會 作 為 當 前 檔 案 讀 入 緩 衝 區 。 游 標 會 停 在 緩 衝 區 的 第 一 行 。 您 可 以 使 用 ":next" 命 令 轉 到 其 它 的 檔 案 。 如 果 要 編 輯 一 個 以 "-" 開 頭 的 檔 案 , 請 在 檔 案 列 表 前 面 加 上 "--"。

-

從 標 準 輸 入 讀 取 要 編 輯 的 檔 案 。 命 令 從 標 準 錯 誤 讀 取 , 此 時 標 準 錯 誤 應 當 是 一 個 TTY。

-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".

檔 案

/usr/share/vim/vim80/doc/*.txt

Vim 的 文 件 檔 案 。 請 使 用 ":help doc-file-list" 獲 得 完 整 的 列 表 。

/usr/share/vim/vim80/doc/tags

在 文 件 檔 案 中 查 詢 資 訊 用 的 標 籤 檔 案 。

/usr/share/vim/vim80/syntax/syntax.vim

系 統 層 面 的 語 法 初 始 化 檔 案 。

/usr/share/vim/vim80/syntax/*.vim

各 種 語 言 的 語 法 檔 案 。

/usr/share/vim/vimrc

系 統 層 面 的 Vim 初 始 化 檔 案 。

˜/.vimrc

您 的 個 人 Vim 初 始 化 檔 案 。

/usr/share/vim/gvimrc

系 統 層 面 的 gvim 初 始 化 檔 案 。

˜/.gvimrc

您 的 個 人 gvim 初 始 化 檔 案 。

/usr/share/vim/vim80/optwin.vim

":options" 命 令 所 用 的 指 令 碼 檔 案 , 這 是 個 檢 視 和 設 定 選 項 的 好 方 法 。

/usr/share/vim/vim80/menu.vim

系 統 層 面 的 gvim 選 單 初 始 化 檔 案 。

/usr/share/vim/vim80/bugreport.vim

用 來 生 成 錯 誤 報 告 的 指 令 碼 檔 案 。 詳 見 ":help bugs"。

/usr/share/vim/vim80/filetype.vim

根 據 檔 名 來 判 定 檔 案 型 別 的 指 令 碼 檔 案 。 詳 見 ":help ’filetype’"。

/usr/share/vim/vim80/scripts.vim

根 據 檔 案 內 容 來 判 定 檔 案 型 別 的 指 令 碼 檔 案 。 詳 見 ":help ’filetype’"。

/usr/share/vim/vim80/print/*.ps

用 於 PostScript 列 印 的 檔 案 。

要 了 解 最 新 資 訊 , 請 檢 視 VIM 主 頁 :
<URL:http://www.vim.org/>

參 見

vimtutor(1)

作 者

Vim 的 大 部 分 都 是 Bram Moolenaar 在 很 多 人 的 幫 助 下 完 成 的 。 請 見 vim 下 的 ":help credits"。
雖 然 不 大 可 能 還 有 原 始 的 程 式 碼 存 在 , 但 是 Vim 仍 然 是 基 於 Stevie 寫 的 程 式 碼 , 之 後 被 Tim Thompson、 Tony Andrews 和 G.R. (Fred) Walter 修 改 而 成 的 。

缺 陷

也 許 有 吧 。 請 用 ":help todo" 檢 視 已 知 問 題 的 列 表 。

請 留 意 , 有 不 少 地 方 可 能 被 其 他 人 視 為 缺 陷 與 錯 誤 , 但 實 際 上 這 只 是 因 為 程 式 忠 實 地 還 原 了 Vi 的 行 為 操 作 。 如 果 你 覺 得 有 些 地 方 “因 為 和 Vi 的 行 為 不 一 樣 ”而 應 該 是 錯 誤 的 , 也 許 你 應 該 再 仔 細 閱 讀 一 下 vi_diff.txt 檔 案 ( 或 者 在 Vim 中 輸 入 "help vi_diff.txt") 。 您 也 應 該 查 一 查 “compatible”和 “cpoptions”選 項 的 用 法 。

[中 文 版 原 維 護 人 ]

唐 友 <tony_ty@263.net>

[中 文 版 原 最 新 更 新 ]

2001/8/30

[原 中 國 Linux論 壇 man手 冊 頁 翻 譯 計 劃 ]

http://cmpp.linuxforum.net

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。

獲 取 日 期 : 2016-12-14
翻 譯 日 期 : 2016-12-18
中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh