1. 程式人生 > >編輯模式和命令模式

編輯模式和命令模式

圖例 搜索 系統 字母 右下角 color 時間 bce 沒有

1、編輯模式:

技術分享圖片

(1)、按字母“i”可以進入編輯模式,光標位置不會變化,左下角會出現“插入”兩個字,按“Esc”退出。
技術分享圖片

(2)、按大寫的字母“I”,進入編輯模式。光標會定位到行首位置,按“Esc”退出。
技術分享圖片

(3)、按小寫字母“o”,進入編輯模式,在光標所在行中往下另起一行,按“Esc”退出。
技術分享圖片

(4)、按大寫字母“O”,進入編輯模式,在光標所在行中往上另起一行,按“Esc”退出。
技術分享圖片

(5)、按字母“a”,進入編輯模式,在光標所在位置往後挪一個字符,按“Esc”退出。

(6)、按大寫字母“A”,進入編輯模式,光標定位在光標所在行的行末,按“Esc”退出。
技術分享圖片

2、命令模式:

技術分享圖片

搜索匹配
/word 向光標後搜索字符串word,按小寫的“n”向後繼續搜索。

技術分享圖片
搜索到最後一個字符串之後,會出現下圖提示,繼續按“n”就會從開頭接著查找。
技術分享圖片
按大寫的“N”是向上查找,同樣也會出現提醒,繼續按“N”就從結尾繼續查找。
技術分享圖片

?word 向前搜索,按小寫字母“n”就向上搜索,按大寫字母“N”就向下搜索,與 /word 相反。

:g/targetWord 全局搜索

:n1,n2s/oldWord/newWord/g 指定替換
:1,$s/oldWord/newWord/g 全部替換
見下圖例子,
技術分享圖片
回車,見下圖,
技術分享圖片
可以看右下角,光標所在行為100行,所以光標下面的單詞 dnsmasq 就沒有被替換,使用命令 /lyslinux 可以查找,見下圖,
技術分享圖片
上面這個命令中,不加g,就只替換每行的第一個字符串,見下圖例子,

技術分享圖片
這邊輸入:之後,按向上的方向鍵,也是可以查找之前的命令。回車,見下圖,
技術分享圖片
返回到第一行,見下圖,
技術分享圖片
以上就是加不加 g 的區別,通常都是會加上 g 的。
全部替換的情況,見下圖,
技術分享圖片
回車,見下圖,
技術分享圖片
試著搜索一下 /dnsmasq ,見下圖,
技術分享圖片
可以看到,找不到 dnsmasq 這個字符串了。

接著做實驗,見下圖,
技術分享圖片
將 /etc/hosts 替換成 lyslinux.com ,回車,見下圖,
技術分享圖片
發現這個命令系統無法識別,具體怎麽操作呢?見下圖,
技術分享圖片
命令中加入兩個 \ ,表示\後面的/不是命令間隔,只是普通字符。回車,見下圖,
技術分享圖片
結果就可以替換成功了。但是上面這個命令運用起來有點麻煩,有沒有比較簡單的方法呢?見下圖,
技術分享圖片
用“#”替代命令中的“/”就不影響 /etc/hosts 中的 / 了。回車,見下圖,

技術分享圖片

可以看到替換成功了。將上面命令中的“#”換成“@”,也是可以的,見下圖,

技術分享圖片

回車,見下圖,

技術分享圖片

使用上面的命令也成功了。

n 搜索下一個同樣的內容
N 搜索上一個同樣的內容

命令行模式下的一些技巧
DTc 刪除從光標的c之間的所有字符
Rc 將光標的字符替換為c
nDD 刪除n行數據
nYY 復制n行數據
nX 刪除n個字符
R 進入替換狀態,esc退出

接著看一下以 : 開頭的命令,
a. :wq 保存並退出
b. :wq! 強制保存並退出
c. :q 退出,不保存
d. :q! 強制退出,不保存
e. :w! 強制保存,在root用戶下,即使文本只讀也可以完成保存
f. :set nu 顯示行號
e. :set nonu 不顯示行號
g. :nohl 去掉查找時顯示的黃底字符串,hl 為 high light 高亮的意思
h. :x 更改文件內容後保存並退出,效果與 :wq 一致;僅查看文件而沒有更改的話,:wq 是可以更改 mtime 的時間,而 :x 則不會更改 mtime 的時間。

編輯模式和命令模式