vi 文本編輯基礎總結

vi 基礎總結

vi 的工作方式

vi 的工作方式有3種:命令方式、文本輸入方式和最後行方式。

  • 命令方式
    無論用戶當前處於什麼方式,只要按Esc鍵就可以進入命令方式。用戶初始進入vi時即處於命令方式。

  • 文本輸入方式
    在命令方式下按Insert鍵或輸入文本插入類命令即可進入文本輸入模式,用來輸入文本內容。

  • 最後行方式
    在命令方式下輸入某些特殊字符,如“:“、”/“、“?”,即進入最後行方式,此時用戶輸入的命令將會在最後一行上顯示,並指導用戶按Enter鍵vi纔會去執行它。
    退出vi 時使用的就是最後行方式。


進入vi

 [root@localhost test]# vi sysinfo

vi 命令

這裏寫圖片描述
這裏寫圖片描述

這裏寫圖片描述

執行外部命令

vi 編輯器允許用戶在編輯文件的過程中不退出 vi 也能執行 shell 命令。比如,在vi編輯器中運行 date 命令,可以在命令方式下輸入”:!date”,此時按 Enter 鍵,vi編輯器將返回到 shell ,執行 date 命令。按任意鍵可返回vi編輯器。

將 shell 命令的運行結果加入到正在編輯的文件中,可輸入”:r!date”。在”!“的前面加上r。


環境設置

用戶可以通過設置 vi 的環境來定製編輯器的行爲。set 命令設置的都是臨時的,格式爲:
:set 選項
在 vi 命令方式下使用”:set all”可顯示所有選項,常用的選項有:
autoindent(ai):文本的每個新行均與上一行對齊。
ignorecase(ic):在搜素過程中忽略大小寫。
number(nu):對文本各行進行編號
readonly:對正在編輯的文件啓用寫保護,可以避免意外更改或破環文件內容
report:報告用戶上一個命令所影響的行號。
showmatch(sm):輸入右邊的圓括號、花括號或方括號時,顯示左邊相應的圓括號、花括號或方括號。
showmode(smd):顯示編輯器所處的模式
wrapmargin(wn) = n:更改右邊距爲n,n等於右邊距中的空格數。
其中圓括號中時可以使用的縮寫形式。例如“:set nu”對當前的文本各行進行編號,並在每行的開頭顯示行號。


宏功能

通過宏操作符 -map 來實現的,可以將一系列按鍵用一個鍵代替,給用戶一個使用命令的捷徑。使用 map 創建的宏只對當前編輯有效。例如:
“:map q 5yy”
表示按q鍵,會複製5行文本到緩衝區。
“:map #2 5yy”
將命令5yy指定給F2鍵。

可以使用unmap取消一個設定的宏,如”:unmap q”


字串縮寫

提供輸入文本捷徑的。通過縮寫操作符 -ab 來實現的。也只對當前編輯會話起作用。比如:
“:ab ul UNIX/Linux”
表示在文本輸入方式下輸入ul 和空格的時候,vi 就會將 ul 擴展爲UNIX/Linux,而ul 爲另一個單詞的一部分的時候不會擴展,vi 是通過ul 前後的空格來識別縮寫字串的。

使用”:ab”可以列出當前設置的所有縮寫。
要取消縮寫,可以使用unab操作符,如”:unab ul”則取消縮寫ul。


環境文件

怎樣將環境設置變爲永久的,在每次使用vi 時都起作用。可以將這些設置保存到環境文件.exrc中。.exrc 是一個隱藏文件,vi編輯器每次被啓用時,就會自動在當前工作目錄中檢查該文件,如果存在就根據該文件的內容來設置編輯環境。若沒有找到.exrc 文件,就會到用戶主目錄中繼續查找,進而進行設置。如果都沒找到文件,就會使用缺省值進行設置。

例如文件這樣設置:

set ai
set number
set sm
set showmode
set wn=5
map #2 5yy
ab ul UNIX/Linux

轉載請標明出處:http://blog.csdn.net/renli2549/article/details/79106402

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章