標籤:style 使用 ar strong 檔案 sp cti on c
本章介紹ex編輯器,為什麼要介紹這樣一個新的編輯器呢:其實ex編輯器不能算是一個新的編輯器,vi只是它的visual model,它已經是一個更普遍,基於行的編輯器。ex提供更大機動和範圍的編輯命令。使用ex,有很多方式更簡單的切換檔案和轉移檔案內容,更快的編輯比一個螢幕更大的文字區塊。
開啟檔案
ex file ---- 使用ex開啟一個檔案,不會顯示檔案內容。顯示一行檔案狀態,一行命令標誌
顯示檔案內容
[number]-[p] ---- 現實第幾行的內容,p可以省略
[number]-,-[number] ---- 顯示第幾行到第幾行的內容
替換
s/[fromCharacter]/[toChracter] --- 從當前行替換
切換到vi模式
vi ----切換到vi模式
在vi模式下移動游標
[number] ---- 移動游標到第幾行
編輯命令
[number],[number]d ---- 刪除從第幾行到第幾行的內容
[number],[number]m[number] ---- 把第幾行到第幾行的內容移動到第幾行下面
[number],[number]co/t[number] ---- [co或者t]把第幾行到第幾行的內容複寫到第幾行下面
set nu[mber] ----- 顯示行號
set nonu[mber] ---- 不顯示行號
[number],[number]# ---- 臨時現實第幾行到第幾行的行號
= ---- 顯示總的行數
.= ---- 顯示當前行號
/pattern/= ---- 顯示以一個匹配項所在的行號
. ---- 表示當前行行號
$ ---- 表示最後一行行號,例如20,.m$表示把第20行到當前行的內容移動到檔案的末尾
% ---- 表示所有行,例如%d表示刪除所有行
+[number] ---- 表示向下多少行,number沒有表示+1,例如.,.+20d表示刪除從當前向下的20行的內容
-[number] ---- 表示向上多少行,number沒有表示-1,例如226,$m.-2表示把第226行到最後一行的內容移動到當前行的前2行下面
0 --- 表示檔案開始
[number1];+[number2] p ---- 顯示number1行後的number2行
/pattern/;+[number] p ---- 顯示第一個匹配行後[number]行
尋找
/pattern/d ---- 刪除下一個匹配所在行
/pattern/+d ---- 刪除下一個匹配的下一行
/pattern1/,/pattern2/d ---- 刪除第一個匹配pattern1的行到第一個匹配pattern2的行的內容
.,/pattern/m/[number] ----- 把當前行到第一個匹配patten的行的內容移動到給定行後面
g/pattern/p --- 尋找並顯示所有包含pattern的行
!g/pattern/p --- 尋找並顯示所有不包含pattern的行
[number1],[number2]g/pattern/p ---- 從第number1到第number2行中尋找並顯示包含pattern的行
命令串連
[command1] | [command2] ---- 串連兩個命令,例如1,3d | s/thier/their表示刪除1-3行,並在當前行替換
儲存
[number1],[number2]w newfile ---- 把第number1到第number2行的內容儲存新的檔案
[number1],[number2]w >> newfile ---- 把第number1到第number2行的內容添加newfile檔案的末尾
檔案間的拷貝
[number]/[0]/[$][/pattern/]r filename ---- 把檔案filename的內容複寫到當前游標/檔案開始/檔案結尾/第一個包含pattern的行的後面
vi/vim使用指北 ---- Introducting the ex Editor