1. Linux : /bin/vi
  2. Shared Library /bin/vi : libtermcap.so.2 => /lib/libtermcap.so.2 (0x4001d000) libc.so.6 => /lib/libc.so.6 (0x40021000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
  3. 意義 : 這裡說的是vim -- 由vi改良過的, 一個programmers文字編輯器。Vim向上相容於Vi。它可以用來編輯任何的ASCII文件。 對於編輯程式是特別有幫助。 Vim對於Vi增加許多地方 : 多重層次的undo, 多重視窗和緩衝區, 突顯語法, 命令列編輯, 檔名完成, 線上輔助, 視覺選擇,等。 可參考 ":help vi_diff.txt", 來看Vim與Vi之間的差別的摘要。 當我們執行Vim時,我們可由線上輔助得到許多幫助,用":help"命令。參考下面的線上輔助部份。
    通常Vim是用 vim file 這個命令來開始編輯一個單一的檔案。 時常Vim是開始於 vim [options] [filelist] 這個命令。 如果filelist遺失了, 編輯器將從一個空的緩衝區開始。另外,確切地是下面四個之一可以用來選擇一個或多個檔案來編輯。
file .. 檔名的列表。第一個將會是目前的檔案並自緩衝區讀取。游標的位置將會在緩衝區的第一行。
你可以用":next"這個命令換到其他檔案。要編輯一個由dash開始的檔案, 必須在檔案列表前加上"--"。
- 要編輯的檔案是從stdin讀進來的。命令是從應該是tty的stderr讀進來的。
-t {tag} 要編輯的檔案及初始的游標位置是依一個goto標籤的排序"tag"來決定的。{tag}是從tags fille中查詢的,
有關聯的檔案變成目前的檔案, 有關聯的命令則正被執行。通常,這會用在C program, 這個情況下, {tag}
可以是函式名稱。這個作用是讓檔案裡含有這個函式的變成目前的檔案, 游標也移到這個函式開始的地方。
可參考 ":help tag-commands"。
-q [errorfile] 從quickFix模式開始。這個[errorfile]檔案已經讀取, 第一個錯誤也已顯示出來。如果[errorfile]是忽略的,
則這個檔名將由"errorfile"這個option得到(預設在Amiga是"AztecC.Err", 其他系統是"errors.vim")。
可以用":cn"這個命令來跳到更多的錯誤。可參考 ":help quickfix"。

Vim作用可能會因命令的名稱而不一樣(執行可能仍在同一檔案)。

vim "標準"模式, 全部是預設值。
ex 開始於Ex模式。用":vi"這個命令可到標準模式。也可用"-e"這個參數。
view 開始於read-only模式。你將不能修改檔案。也可用"-R"這個參數。
gvim gview GUI版本。開始一個新的視窗。也可用"-g"這個參數。
rvim rview rgvim rgview 跟上面的很像, 但有一些限制。它不可能去開始shell命令或是中止Vim。
也可用"-Z"這個參數。

概要 : vim [options] [file ..]

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

ex
view
gvim gview
rvim rview rgvim rgview

OPTION :

這些options可以任何順序加在檔名的前或後。沒有參數的option可以用一個dash在後面相接。

+[num]

+/{pat}
+{command}
-c {command}
-b
-C
-d {device}
-e
-f
-F
-g
-h
-H
-i {viminfo}
-L
-l
-m
-N
-n
-o[N]
-R
-r
-r {file}
-s
-s {scriptin}
-T {terminal}
-u {vimrc}
-U {gvimrc}
-V
-v
-w {scriptout}
-W {scriptout}
-x
-Z
第一個檔案的游標的位置將在"num"的那一行上。如果找不到"num", 游標將在最後一行上。
第一個檔案的游標將再第一個出現{pat}的地方。可參考":help search-pattern"來的到可利用的search patterns。
第一個檔案被讀取後, {command}將被執行。{command}是解釋成像Ex command。如果{command}包含空白, 則必須用
雙引號括起來(這跟用的shell有關)。例如 : Vim "+set si" main.c
Note : 你可以用10個之多的"+"或"-c"命令。
二進位的模式。一些option將被設定, 使得可以編輯二進位及可執行的檔案。
相容的。設定這個'相容的'option, 可使Vim操作起來比較像Vi, 即使一個.vimrc檔案存在。
開啟{device}來當作terminal使用, 只有在Amiga上。例如 : "-d con:20/30/600/150"。
在Ex模式開始執行Vim, 就好像這個可執行的叫"ex"。
前景。在GUI版本, Vim不會fork而且從shell啟動時分離。在Amiga上, Vim不會重新啟動去開啟一個新的視窗。當Vim
被一個在等待編輯session完成的program執行時, 這個option應該被用到(e.g. mail)。在Amiga上,":sh"和":!"命令
並不能使用。
如果Vim被有FKMAP support編譯過, 來編輯右到左導向的檔案, 並且和Farsi鍵盤有對應, 這個option會在Farsi模式
開始執行Vim, i.e. 'fkmap' 和 'rightleft'被設定。否則, 錯誤訊息將出現, Vim會中止。
如果Vim被有GUI support編譯過, 則這個option enable GUI。如果Vim被沒有GUI support編譯過,則會出現一個錯誤訊息,
並中止Vim。
給一個help的bit有關於命令列的參數及options。在這之後, Vim存在。
如果Vim被有RIGHTLEFT support編譯過, 來編輯右到左導向的檔案, 並且和Hebrew鍵盤有對應, 這個option會在Hebrew
模式開始執行Vim, i.e. 'hkmap'和'rightleft'被設定。否則, 錯誤訊息將出現, Vim會中止。
當使用viminfo檔案是enable的, 這個option設定使用檔名來取代預設的 "~/.viminfo"。這也可用來跳過 .viminfo檔案
的使用, 只要將名稱設成 "NONE"。
與-r相同。
Lisp模式。設定'lisp'和'showmatch'的options要on。
修改檔案是disable的。重設'write' option,因此沒辦法寫入檔案。
不相容的模式。重設'compatible' option。這會使Vim表現得比較好一點, 但和Vi很少相容, 即使.vimrc檔案不存在。
不使用swap檔案。毀損後的回復是不可能的。手邊如果你想編輯一個檔案在非常slow medium上(e.g. floppy)。也可用
":set uc=0"來做。用:"set uc=200"來undo。
開啟N個視窗。當N是忽略的, 每個檔案都開啟一個視窗。
Read-Only模式。'readonly'這個option會被設定。你仍然可以編輯緩衝區, 但將避免意外地覆寫到檔案裡。如果你真的
想覆寫檔案, 在Ex命令上加驚嘆號的標記, ":w!"。這個-R的option也包含-n這個option(see below)。'readonly'這個
option可以用":set noro"來重設。可參考 ":help 'readonly'"。
列出swap檔案, 並附上用來回復的資訊。
回復模式。swap檔案是用來回復一個在編輯session時毀損的檔案。swap檔是一個和text檔有相同名稱並加上".swp"副檔名
的檔案。可參考 ":help recovery"。
安靜模式。只用在Ex模式開啟或"-e" option用在"-s" option之前。
這個script檔案{scriptin}被讀取。檔案裡的字元被直譯如同你打的。用":source! {scriptin}"這個命令也可以做到。如果
在編輯器存在前到達檔案的末端, 更多的字元將從鍵盤讀取。
告訴Vim你正在用的終端機名稱。只有用在當自動化不能work時。一個終端機應該認識Vim (builtin)或已在termap或terinfo
檔案定義過。
在檔案 {vimrc}使用這個命令來初始化。所有其他的初始都跳過。用這個來編輯特殊的檔案。它也可以用"NONE"這個名稱來
跳過所有的初始化。可參考 ":help initialization"裡對Vim更多的細節。
在檔案 {gvimrc}使用這個命令來做GUI的初始化。所有其他的初始都跳過。它也可以用"NONE"這個名稱來跳過所有的GUI
初始化。可參考 ":help gui-init"裡對Vim更多的細節。
冗長的。給有關哪個檔案是來源, 讀或寫入到一個viminfo檔案的訊息。
在vi模式開始執行Vim, 就好像可執行的叫vi。這只在可執行的叫"ex"的有效。
所有你打的字元都會被錄在 {scriptout}這個檔案裡, 直到你離開Vim。如果你想創造一個script檔案可用"vim -s"或
":source!"命令, 這很有幫助。如果 {scriptout}檔案存在, 字元會附加上去。
跟-w很像, 但存在的檔案可以覆寫。
在寫入檔案時使用編碼。將會提示要求一個密碼key。
限制模式。工作用"r"開始, 就好像可執行的一樣。


表示option的末端。參數在這後面的會被當成檔名處理。這可用來編輯從'-'開始的檔名。

  1. 直接打vi跟打vim在這裡是相同的。 ex test.txt 會變命令執行模式, 可直接在命令列打命令, 要切換到normal模式打vi即可。離開可直接打q或q!, 要存檔則打wq。 view test.txt 為read-only模式, 不能寫入檔案。 vi +/test test.txt 游標會停在test第一個出現的那一行。 vi +100 test.txt 游標停在第100行的位置, 若沒有100行則停在最後一行。 vi +d test.txt 一開啟檔案就執行d這個命令, 這是要刪除一行或多行的命令。 vi -c d test.txt 與上面的功能相同。 vi -h test.txt 會列出用法及options。 vi -m test.txt 會使write disable, 沒辦法寫入檔案。 vi -T test.txt 告訴我使用的終端機名稱, 執行結果如下, 表沒有找到這個entry : Terminal entry not found in terminfo 'test.txt' not known. Available builtin terminals are: builtin_ansi builtin_xterm builtin_iris-ansi builtin_dumb defaulting to 'ansi'

  2. /bin/vi : 線上輔助 : 在Vim裡打 ":help"就可以開始。打":help subject", 可以得到特定主題的幫助。例如, 打":help ZZ", 可以得到"ZZ"命令的用法。

使用來完成主題(":help cmdline-completion") 。標籤是描述從一個地方跳到另一個地方(超文字連結的排序, 可
參考 ":help")。所有的文件都可以這樣檢視, 如, ":help syntax.txt"。
檔案 :
/usr/share/vim/vim57/doc/*.txt
Vim的文件檔案。用":help doc-file-list"可得到完整的列表。
/usr/share/vim/vim57/doc/tags
這些tags檔案可用來尋找文件檔的資訊。
/usr/share/vim/vim57/syntax/syntax.vim
系統廣泛的語法初始化。
/usr/share/vim/vim57/syntax/*.vim
不同語言的語法檔案。
/usr/share/vim/vim57/macros/vimrc
系統廣泛的Vim初始化。
/usr/share/vim/vim57/macros/gvimrc
系統廣泛的gvim初始化。
/usr/share/vim/vim57/optwin.vim
為了":options"命令的script, 一個檢視及設定option的好方法。
/usr/share/vim/vim57/menu.vim
gvim的系統廣泛的選單初始化。
/usr/share/vim/vim57/bugreport.vim
產生程式錯誤的報告的script。可參考 ":help bugs"。
/usr/share/vim/vim57/filetype.vim
從檔名偵測型別的script。可參考 ":help 'filetype'"。
/usr/share/vim/vim57/scripts.vim
從檔案內文偵測型別的script。可參考 ":help 'filetype'"。

欲知最近的資訊可到Vim的網站 :

BUGS :
可能出現的。可參考 ":help todo"以得到已知到問題的列表。