vim編輯模式與命令模式

5.5 進入編輯模式

從編輯模式返回通常模式「Esc」vim

5.6 vim命令模式

命令

:「nohl」=no high light 無高亮,取消內容中高亮標記
"x":保存退出,和wq的區別是,當進入一個文件未進行編輯時,使用該命令不會改變文件的atime。bash

編輯模式下查找替換命令

eg1:spa

查找abc,替換爲ABC(某範圍內所有替換)
‘/1,100s/abc/ABC/g’ 即:將第1行至第100行內全部abc替換成ABC。(s:替換;g:=global,所有。若是不加g則只會替換每行第一個abc),‘/’能夠替換成#或@。.net

eg2:對象

查找/etc/111.txt,替換爲adai
此時若是使用‘/’執行該命令會致使其與被替換對象衝突,因此使用#來執行該命令(該方法經常使用),若是仍然使用‘/’來執行命令,須要以下操做:
‘/ \ /etc \ /111.txt/adai/g’在此,‘\’是託譯符,表示不識別其後面的字符dns

5.7 vim實踐

# cp /etc/dnsmasq.conf  /tmp/1.txt文檔

(1) 分別向下、向右、向左、向上移動6個字符(6j 6l 6h 6k)。字符串

(2) 分別向下、向上翻兩頁(分別按兩次ctrl+f和ctrl+b)。get

(3) 把光標移動到第49行(49G)。搜索

(4) 把光標移動到行尾,再移動到行首(Shift+4, Shift+6)。

(5) 移動到1.txt文件的最後一行(G)。

(6) 移動到文件的首行(gg)。

(7) 搜索文件中出現的「dnsmasq」,並數一下該字符串出現的次數(/dnsmsq 而後按n)。

(8) 把從第1行到第10行出現的dnsmasq替換成dns(:1,10s/dnsmasq/dns/g)。

(9) 還原上一步操做(u)。

(10) 把整個文件中全部的etc替換成cte(:1,$s/etc/cte/g)。

(11) 把光標移動到第25行,刪除字符串 「ly」(25G 而後按j向右移動光標找到"ly",按v選中,而後按x)。

(12) 還原上一步操做(u)。

(13) 刪除第50行(50G dd)。

(14) 還原上一步操做(u)。

(15) 刪除第37-42行的全部內容(37G 6dd)。

(16) 還原上一步操做(u)。

(17) 複製第48行的內容並粘貼到第52行下面(48G yy 52G p)。

(18) 還原上一步操做(u)。

(19) 複製第37-42行的內容並粘貼到第44行上面(37G 6yy 44G P)。

(20) 還原上一步操做(按u)。

(21) 把第37-42行的內容移動到第19行下面(37G 6dd 19G p)。

(22) 還原上一步操做(按u)。

(23) 把光標移動到首行,把第1行內容改成「#!/bin/bash」(先按gg,把光標定位到第1行,而後按字母A,進入編輯模式,同時>光標到行末尾,進行修改操做,完成後按ESC)。

(24) 在第1行下面插入新的一行,並輸入「# Hello!」(按o進入編輯模式,同時光標向下另起一行,輸入「# Hello!」)。

(25) 保存文檔並退出(按Esc鍵,輸入「:wq」)。

相關文章
相關標籤/搜索