vi命令一覽表

2023-01-10 03:39:04 字數 3457 閱讀 1549

ex, vi, view - text editors

◎synopsis

vi [-efglrrsv] [-c cmd] [-t tag] [-w size] [file ...]

ex [-efgrrssv] [-c cmd] [-t tag] [-w size] [file ...]

◎description

ex和vi是相同程式但不同介面,ex是一行處理的(line-oriented),

vi是以全螢幕為基準的(screen oriented).二者能相互切換.

view相當於vi使用-r(唯讀)引數

◎options

-e 以ex模式開始編輯,如同用ex編輯一般。

vi -e filename 等同於 ex filename

-f 當第一次編輯時,不要讓vi整個檔案。

(預設是整個檔案,以避免當您在編輯時,他人更改這個檔案。)

-r 以唯讀模式開啟,如同以vipw開啟檔案,或在命令列中設定readonly引數。

-r 重新取得某個特定檔案,若沒有指定檔案,檔案表列會被重新取得。

若沒有該指定檔案,檔案會被視為沒有-r引數編輯。

-s 以安全編輯模式啟動,不允許所有的外部程式訪問。

-s 進入batch模式,只能應用在ex編輯。batch模式在執行ex scripts非常有用。

一些及時資訊及其他使用者導向的訊息被忽略(不顯示),

沒有開始檔案或環境變數被讀取。

-w 設定基本的視窗大小,用以定義顯示的行數。

-v 以vi模式開始編輯,如同vi 或view命令。

ex/vi從標準輸入讀取訊息,在vi介面, 若標準輸入不是乙個終端機,會產生錯誤。

在ex介面,若標準輸入不是終端機,無論如何ex會試著從他讀取命令。

然而,此時會以batch模式進行,如同-s引數被指定。

移動命令:

往下移動到這個字下次一出現的地方。

標向上移動乙個螢幕。

標往下移動數行(約12行)。

將螢幕往上一行,但標位置不變。

標往下移動乙個螢幕。

+ 標往下移動到下一行第乙個非空白字元。

標往上移動數行(約12行)。

將螢幕往上動,但標位置不變。

ctrl+y 每移動一次 y就按一次

(當然您的標須位在至少能夠向上動的位置)

$ 將標移動到該行尾。

( 標往上移動到上一句子。

) 標往下移動到下一句子。

- 標移動到上一行第乙個非空白字元。

0(數字) 移動標到該行的第乙個字元(包含空白)。

< 移動該行向左移動乙個tab鍵距離,按第二次後開始動作。

> 移動該行向右移動乙個tab鍵距離,按第二次後開始動作。

b 往上移動標到下乙個字的開始。

e 標往後移動到下乙個字的最後乙個字元。

ng 移動到某行,n為行數,若沒有指定則為檔案的最後一行。

h 移動標到檔案第一行行首。

l 將標移動到螢幕的最下一行。

m 將標移動到螢幕的中間行。

w 往下移動標到下乙個字的開始。

^ 移到該行第乙個非空白字元。

e 移動到該字的最後一字母。

f《字元》 行中向後搜尋該字母並移動標到該位置。

移動到a字母的位置fa

t《字元》 行中向後搜尋該字母並移動標到該字元前乙個位置.

往下移動到後一段落。

檔案命令:

顯示檔案的資訊。

顯示出目前檔案是否更改,所在行的位置.

file_name: unmodified : line 1 of 380 [0%]

重畫螢幕。

重畫螢幕。

暫停編輯回到shell,可用fg回到編輯畫面

切換到最近編輯的檔案。

vi file_name file_name2

用此命命可以在兩個檔案中切換。

zz 將檔案存檔並離開vi

編輯命令:

輸入:i 移動標道行首的第乙個字元並開始接受輸入。

r 以取代模式進入輸入模式。 :

y 該行到暫存區

刪除:d 從標目前位置道行尾的所有字元刪除。

s 將該行清除並進入輸入模式。

x 刪除標之前的乙個字元。

取代:!shell命令 !後接shell comd ,並以shell cmd 執行結果取代標該行.

!panda

用以下訊息取代原有行的內容

bash: panda: command not found

r 按r後接著按某字元,以取代標所在的該字元.

~ 切換標所在字元的大小寫

重:& 在該行重之前的規則表示式.

前提是需要之前有執行過規則表示式.

用panda取代a :s/a/panda/

若之前沒有任何表示式則系統會顯示如下訊息

no previous regular expression

. 重上乙個更改檔案內容的vi命令.

n 搜尋之前所搜尋過的字串

若先執行 /bsd

再執行 n 等同於執行 /bsd

若先前沒有搜尋任何東西會有如下訊息

no previous search pattern.

復原:u 恢復狀態到標起初接觸此行的狀態

u 復原前乙個動作產生的效果(也就是回覆)

其他:: 執行ex 命令

j 將下一行與此行合.

q 離開vi模式並切換到ex模式.

進入vi的命令

vi filename 開啟或新建檔案,並將游標置於第一行首

vi +n filename 開啟檔案,並將游標置於第n行首

vi + filename 開啟檔案,並將游標置於最後一行首

vi +/pattern filename開啟檔案,並將游標置於第乙個與pattern匹配的串處

vi -r filename 在上次正用vi編輯時發生系統崩潰,恢復filename

vi filename....filename開啟多個檔案,依次進行編輯

移動游標類命令

h游標左移乙個字元

l游標右移乙個字元

space游標右移乙個字元

backspace游標左移乙個字元

k或ctrl+p游標上移一行

j或ctrl+n 游標下移一行

enter 游標下移一行

w或w 游標右移乙個字至字首

b或b 游標左移乙個字至字首

e或e 游標右移乙個字至字尾

) 游標移至句尾

( 游標移至句首

}游標移至段落開頭

{游標移至段落結尾

ng游標移至第n行首

n+游標下移n行

n-游標上移n行

n$游標移至第n行尾

h 游標移至螢幕頂行

m游標移至螢幕中間行

l 游標移至螢幕最後行

0(注意是數字零)游標移至當前行首

$游標移至當前行尾

t?????

工作表事件一覽表

worksheet 物件事件一覽表 工作表上的事件在預設情況下是可用的。若要檢視工作表的事件過程,請用滑鼠右鍵單擊工作表標籤,再單擊快捷選單上的 檢視 在 過程 下拉列表框內選擇事件名稱。工作表級事件發生在工作表被啟用 使用者更改工作表上的單元格或資料透視表更改時。下例在工作表重新計算時就調整 a ...

建行按揭一覽表

客戶準備資料 一 客戶身份證原件及影印件兩份 單身提供個人身份證,已婚提供夫妻雙方身份證 二 戶口本原件及影印件乙份 戶口本或戶籍卡均可,暫時無戶口本的需在戶籍所在地的派出所出具戶籍證明 三 單身提供單身證明 已婚者提供結婚證 離異者提供單身證明兩份及離婚證原件或法院判決書原件及影印件兩份 喪偶者提...

JCLI申請一覽表

申請資料一覽表 1 jcli日語學校入學願書及履歷書 2 畢業證書原件 高中,職高,中專,技校,大學,大專等 3 最終學歷3年或4年的成績證明。4 參加過高考的學生需要準備 中國統一高考成績的認證書。請在 申請認證。請在填寫申請表時將認證書直接寄到日本的學校 學校 5046 參加過高考的同學,總分在...