1. 程式人生 > >四周第三次課(2月28日)

四周第三次課(2月28日)

linux 學習 筆記

5.5 進入編輯模式

5.6 vim命令模式

5.7 vim實踐


5.5 進入編輯模式


編輯模式:可以編輯文本文檔。

截圖


一般模式下

i鍵,當前位置插入,左下角顯示白字字體“插入”(圖片分別是i前,i後的效果)

技術分享圖片

技術分享圖片


I鍵, 光標自動移動至行首插入


o鍵 光標所在的下一行插入(圖片分別是o前,o後的效果)

技術分享圖片

技術分享圖片


O鍵 光標所在的上一行插入


a鍵 光標所在字符的下一個字符位置插入。(a=after 之後的意思。圖片分別是a前,a後的效果)

技術分享圖片

技術分享圖片

A鍵 光標移動到所在行的行末,插入。((圖片分別是A前,A後的效果))

技術分享圖片

技術分享圖片



5.6 vim命令模式


命令模式介紹

技術分享圖片

/dnsmasq 光標之後搜索一個單詞,n繼續向下搜索

技術分享圖片

查到最後會往上查找

技術分享圖片

shift+n=N鍵

向上查找


?for 光標之前搜索一個單詞,n繼續向上搜索。(與“/”用法相反)


替換功能

指定範圍替換

:1,100s/dnsmasq/aminglinux/g

解釋:從第1行到第100行,搜索dnsmasq,並且將其全部替換成/aminglinux。

g是全局替換,如果不加g,代表只替換第一個。(一般都加g,全局替換)

技術分享圖片

技術分享圖片


不指定範圍 全文替換

:1.$s/dnsmasq/aminglinux/g

技術分享圖片

技術分享圖片


替換/etc/host為aminglinux.com

:1,$s/\etc\/host/aminglinux.com/g

因為替換功能只識別到三個“/”,如果目錄帶有“/”即便變成四個或以上的“/”,所以需要用到脫意來使命令正常運作,而命令中的“\”代表脫意。

技術分享圖片

技術分享圖片

或者使用#來代表原來的“/”,效果也是一樣。(其實除了\ #還可以用@)

:1,$s#/etc/hosts/#aminglinux.com#g

技術分享圖片

技術分享圖片

:模式還有 q q! wq set nu set nonu

:q 退出

:q! 強制退出

:wq 保存退出

:x 同樣也是保存退出,不過跟:wq不一樣的是,:wq就算不做編輯只是瀏覽也會改變mtime,而:x則不會改變mtime.

:set nonu 設置無行數表示

:set nu 設置行數表示

技術分享圖片


去掉黃色高亮

:nohl (no hight light)




5.7 vim實踐


實踐操作

技術分享圖片

技術分享圖片

技術分享圖片

首先

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

#vim !$


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


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



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

技術分享圖片

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

技術分享圖片

技術分享圖片

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

技術分享圖片

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

技術分享圖片

7 搜索文件中出現的“dnsmasq”,並數一下該字符出現的次數(/dnsmasq 然後按n)

出現了58次

技術分享圖片

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

技術分享圖片

9 還原上一步操作(u)

技術分享圖片

10 把整個文件中所有etc替換成cte(:1,$s/etc/cte/g)

技術分享圖片

技術分享圖片

11 把光標移動到第25行,刪除字符串“ly”(25G然後按j向右移動光標找到“ly”,按v選中,然後按x)

12 還原上一步操作(u)

13 刪除第50行

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)

由於11-22的內容都是u恢復步驟,而且繁瑣。此處就不做截圖演示。


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


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

25 保存文檔並退出(按Esc鍵,輸入“:wq”)

技術分享圖片


四周第三次課(2月28日)