內容簡介
將近三十年的時間裡,vi一直是unix與linux採用的標準編輯器,從1986年開始,《學習vi和vim編輯器(第7版)》一直是第一線的vi導引手冊。但三十年來,unix已不再是三十年前的樣子,這本書也不能一成不變。第7版的《學習vi和vim》涵蓋了vim的詳細指引,vim是一種很棒的vi同類品。
vim現在是大多數linux系統上的默認編輯器,也是mac os x的默認vi版本,同時能在許多其他作業系統上執行。《學習vi和vim編輯器(第7版)》將說明使用這兩種程式編輯文檔的基礎技巧,並討論高級工具,例如互動式宏與擴展編輯器的腳本——我們的內容編寫成容易遵循步驟操作的風格,成就本書的經典地位。 讀者將學到:
·快速於vi里移動
·超越vi基礎的技巧,例如使用緩衝區
·使用vi的全局搜尋與替換功能
·自定義vi,並執行unix的命令
·使用vim的擴展文本對象以及威力強大的正則表達式
·執行多視窗編輯,並設計vim腳本
·充分利用圖形化用戶界面版的vim,gvim
·使用vim的強化功能,例如語法高亮顯示及擴展標籤
·vim與其他三種vi同類品的比較:nvi、elvis、vile
vi或vim,是使用linux或unix時的必要知識,無論使用哪種平台,《學習vi和vim編輯器(第7版)》都是基礎中的基礎。
作者
Arnold Robbins,專業程式設計師與技術作家,從1980年即開始使用Unix系統,協助打造了awk的POSIX標準。
Elbert Hannah,是位專業軟體工程師與軟體設計師,於1983年使用彙編語言寫出全螢幕編輯器,完成第一件受指派的專業任務。
Linda Lamb,O’Reilly Media的第一代編輯中的一員,也是本公司的技術作家與行銷經理。
前言
在任何計算機系統中,文本編輯是最常見的任務,而vi是最有用的標準文本編輯器之一。vi可以創建新檔案或是編輯既有的純文本檔案。
vi,像許多於Unix早期開發的經典實用工具一樣,有一個難於駕馭的名聲。Bram Moolenaar的增強同類品,Vim(vi Improved),對於消除產生此印象的原因大有幫助。Vim包含無數的便利、視覺指南以及幫助畫面。它或許成為最流行的vi版本,所以本書的第7版在第二部分“Vim'’中奉獻了7個新的章節給它。然而,也存在許多其他有價值的vi同類品,我們將其中三個涵蓋在第三部分“其他vi同類品”中。
本書的範圍
這本書共有18章與4篇附錄,分成4個部分。第一部分,基礎與高級的vi,可以讓你對vi很快地上手:接下來是高級的技巧,可以讓你的工作更有效率。
前面兩章,第一章“vi文本編輯器”與第二章“簡單的文本編輯”,介紹了一些簡單的vi命令,供初學者上手。你應該多多練習,直到熟悉為止。當你在第二章學到一些基礎的編輯工具後,便可以稍事休息。
但是vi可不是只能做基本的文本編輯而已,它的各種命令與選項都可以簡化編輯工作。
第三章“快速移動位置”與第四章“越過基礎的藩籬”,重點都是完成任務的簡化方式。第一次閱讀的時侯,你只需要大致了解vi可做的事以及哪些命令可能對你特別有用即可。因為以後你可以隨時回到這些章節,做更深入的研究。
第五章“ex編輯器概述”、第六章“全局替換”與第七章“高級編輯方法”,提供了一些工具,可以讓你把許多繁重的編輯工作交給計算機。其中介紹了位於vi底層的ex行編輯器,並且示範了如何在vi中使用ex命令。
第八章“vi同類品的功能總覽”,介紹了本書涵蓋的四種vi同類品所具備的擴展功能。著重於探討多視窗的編輯、圖形用戶界面(GUl)、擴展的正則表達式(reguiar expression)等等簡化編輯的功能及其他特色,為後續內容提供概略總圖。本章還指出原始vi原始碼的取得方式,以便在時下的Unix系統(包括GNU/Linux)上輕易地編譯vi。
第二部分“Vim”,則說明一種最受歡迎的vi同類品(就21世紀初期而言)。
第九章“Vim(vi Improved)概述”是對Vim的通論,包括何處可取得用於各種常見作業系統的Vim二進制版本以及一些使用Vim的不同方式。
第十章“Vim對vi的主要改進”,如題所述是描述Vim在vi之上的重大改善,例如內置幫助、對初始化的控制、額外的移動命令,還有擴展的正則表達式。
第十一章“Vim的多視窗功能”,重點在於多個視窗的編輯,這或許是標準vi的最重大附加功能。本章提供所有創建與使用多重視窗的細節。
第十二章“Vim腳本”,深入探討Vim的命令語法,可編寫腳本來自定義或修改Vim以符合需求。大部分創造性的Vim易用功能來自其他用戶貢獻的腳本,讓Vim一併發布。
第十三章“圖形化Vim(gvim)”,用於查看Vim在時下GUI環境裡的發展,例如商用Unix系統上的標準、GNU/Linux與其他類似Unix的產品以及MS Windows。
第十四章“程式設計師專用的Vim強化功能”,著重在Vim作為程式設計師的編輯器,如何擁有超越一般的文本編輯能力。摺疊(folding)與大綱功能、智慧縮排、語法高亮顯示、“編輯—編譯—調試”周期的加速是其中特別有價值的功能。
第十五章“其他好用的Vim功能”,這章有點集大成的意味,涵蓋了許多有趣但不適合放在稍早章節的重要內容。
第三部分“其他vi同類品”,講述了另外三種常用的vi同類品:nvi、elvis、vile。
第十六章“nvi:新的vi”、第十七章“Elvis”、第十八章“vile:類似Emacs的vi”,介紹各種vi的同類品——nvi、elvis、vile,除了講述如何使用它們擴展自vi的功能,也討論了各自的特色。
第四部分“附錄”,提供了一些有用的參考資料。
. 附錄A“vi、ex與Vim編輯器”,列出所有vi與ex命令,以功能排序。同時以字母順序列出ex命令。另外還收錄了用於Vim的精選vi與ex命令。
附錄B“設定選項”,列出vi與本書所涵蓋的四種同類品所用的set命令選項。
附錄C“問題集”,是本書中常見問題的大集合。
附錄D“vi與國際網際網路”,描述了vi在廣大Unix與Internet文化中的地位。
本書寫作的方式
撰寫這本手冊是為了把我們認為vi新手必須了解的知識,讓讀者有概括性的認識。學習一種新的編輯器並不是容易的事,尤其是像vi的選項這么複雜,更是辛苦。我們努力將基本的概念與命令用淺顯易讀的方式呈現出來。
在討論過(到處都適用的)vi的基礎後,我們換個話題,深入討論Vim。然後再回頭在vi的範疇內,查看nvi、elvis與vile。接下來說明本書使用的編排慣例。
vi命令的討論
例如左邊的鍵盤按鍵圖案,標誌著這個特殊鍵盤命令或是相關命令的主要討論區。你會看到對該命令主要概念的一段簡短介紹,接著是介紹各項目的段落。然後會介紹不同任務適合的各種命令,並加上命令的描述與正確的使用語法。
關於第7版的前言
《學習vi和Vim編輯器》(第7版)延續了第六版的所有優秀特色。時間證明Vim是最受歡迎的vi同類品,所以本版特別加重介紹了這個編輯器的內容(也出現在了書名里)。不過,為了儘量照顧廣大的vi同類品用戶,我們也繼續更新了nvi、elvis、vile的內容。
新增內容
以下是本版新增的內容:
·更正了基本內容的錯誤。
·以7個章節詳盡地、無遺漏地介紹Vim。
·更新了nvi、elvis、vile的素材。
·前一版中關於ex與vi的兩份參考附錄合併為一章,並包含了精選的Vim相關內容。
·其他附錄也已更新。
版本
我們測試vi的特性時是使用以下程式:
·以Solaris版的vi作為Unixvi的參考版本
·Keith Bostic的nvi 1.79版
·Steve Kirkendall的elvis 2.2版
·Bram Moolenaar的Vim 7.1版
·Kevin Buettner、Tom Dickey與Paul Fox的Vile 9.6版
目錄
《學習vi和vim編輯器(第7版)》
前言
第一部分 基礎與高級的vi
第一章 vi文本編輯器
簡史
打開與關閉檔案
結束而不保存編輯結果
第二章 簡單的文本編輯
vi命令
移動游標
簡單的編輯
更多插入文本的方法
基本vi命令的複習
第三章 快速移動位置
根據螢幕來移動
根據文本塊來移動
根據搜尋模式的結果來移動
根據行號來移動
vi移動命令的複習
第四章 越過基礎的藩籬
.更多命令組合
打開vi的選項
善加利用緩衝區
對一處做標記
第五章 ex編輯器概述
ex命令
用ex編輯
將一個檔案複製到另一個檔案
編輯多個檔案
第六章 全局替換
確認替換
與上下文相關的替換
模式匹配的規則
模式匹配的範例
模式匹配的最後叮嚀
第七章 高級編輯方法
自定義vi
執行unix命令
保存命令
使用ex腳本
編輯程式原始碼
第八章 vi同類品的功能總覽
它們都是我兄弟
多視窗編輯
圖形用戶界面
擴展正則表達式
增強的標籤
改進的便利功能
編程輔助
編輯器功能一覽表
還是原創品最好
預告
第二部分 vim
第九章 vim(vi improved)概述
概覽
取得vim
取得unix與gnu/linux環境中的vim
取得windows環境中的vim
取得macintosh環境中的vim
其他作業系統
給新用戶的幫助工具與簡易模式
小結
第十章 vim對vi的主要改進
內置幫助功能
啟動與初始化選項
新的移動命令
擴展的正則表達式
自定義執行檔
第十一章 vim的多視窗功能
啟動多視窗編輯
打開視窗
遊走視窗間(在視窗間移動游標)
移動視窗
調整視窗尺寸
緩衝區及其與視窗的互動
在視窗里追蹤標籤
分頁編輯
關閉與離開視窗
摘要
第十二章 vim腳本
你最愛什麼色調?
通過腳本動態配置檔案類型
關於vim腳本編碼的其他思考
資源
第十三章 圖形化vim(gvim)
gvim概述
自定義滾動條、選單與工具列
microsoft windows中的gvim
x windows system中的gvim
gui選項與命令概要
第十四章程式設計師專用的vim強化功能
摺疊與大綱(大綱模式)
自動智慧縮排
關鍵字與字典辭彙補全
標籤堆疊
語法高亮顯示
用vim編譯與檢查錯誤
關於使用vim設計程式的最後叮嚀
第十五章 其他好用的vim功能
編輯二進制檔案
digraph:非ascii字元
在其他地方編輯檔案
目錄間的移動與改變
使用vim備份
以html表現文本
有何差異?
撤銷“撤銷”
現在的位置?
內容行(大小)
vim命令與選項的縮寫
幾項快捷竅門(不只vim專用)
參考資源
第三部分 其他vi同類品
第十六章 nvi:新的vi
作者與歷史
重要的命令行參數
線上幫助與其他說明文檔
初始化
多視窗編輯
圖形用戶界面
擴展正則表達式
改進的編輯功能
編程輔助
國際化支持
資源與支持的作業系統
第十七章 elvis
作者與歷史
重要的命令行參數
線上幫助與其他說明文檔
多視窗編輯
圖形用戶界面
擴展正則表達式
改進的編輯功能
編程輔助
有趣的功能
elvis的未來
資源與支持的作業系統
第十八章vile:類似emacs的vi
作者與歷史
重要的命令行參數
線上幫助與其他說明文檔
初始化
多視窗編輯
圖形用戶界面
擴展正則表達式
改進的編輯功能
編程輔助
有趣的功能
資源與支持的作業系統
第四部分 附錄
附錄a vi、ex與vim編輯器
附錄b 設定選項
附錄c 問題集
附錄d vi與國際網際網路