0326課的預習任務+課堂筆記

5.1 vim介紹

·vim 是 vi 的升級版本

·vim 是帶有顏色顯示的

1.png

·默認沒有安裝 vim 的話,手動安裝 vim-enhanced 包

[root@arslinux-01 ~]# yum install -y vim-enhanced


·一般模式、編輯模式、命令模式

一般模式:dd 等

編輯模式:按 i 開始編輯後

命令模式:/ 搜索、查找替換、:wq保存退出


5.2 vim顏色顯示和移動光標

·相同的文件在不同的目錄下,有可能導致顏色沒有了

/etc 下有顏色,其他目錄無顏色

[root@arslinux-01 ~]# vim /tmp/passwd

2.png


·在沒有顏色的配置文件中,添加 # 開頭的行,保存重新打開,會發現,有顏色顯示了

3.png


·將名稱改成 .sh 也會有顏色

[root@arslinux-01 ~]# mv /tmp/passwd /tmp/passwd.sh
[root@arslinux-01 ~]# vim !$
vim /tmp/passwd.sh

4.png


·其實沒必要糾結會不會顯示顏色,顏色往往根據文件的具體內容有關,如果是腳本的話,可能根據腳本的不同來顯示具體的顏色


vim 的配置文件:/etc/vimrc

在配置文件開頭加上 #! /bin/bash ,配置文件會將 if 、for 等 shell 語法高亮


5.3 vim一般模式下移動光標

h                             向左移動一個字符

l                             向右移動一個字符

j                             向下移動一個字符

k                             向上移動一個字符

空格                         向右移動一個字符

nh                            向左移動 n 個字符

nl                             向右移動 n 個字符

nj                             向下移動 n 個字符

nk                             向上移動 n 個字符

n空格                         向右移動 n 個字符

ctrl+f                         向前翻頁

ctrl+b                         向後翻頁

0                                  光標快速移動到行首

shift+6(^)              光標快速移動到行首

shift+4($)              光標快速移動到行末

gg                              光標回到首行行首

G或shift+g                  光標移動到最後一行行首

nG(或者n shift+g)    光標移動到第 n 行行首


5.4 vim一般模式下複製、剪切和粘貼

dd                             剪切、刪除一行

ndd                             剪切、刪除包含光標所在行內往下的 n 行

p                                 粘貼在光標所在的下一行

P                                 粘貼在光標所在的上一行

yy                                 複製光標所在一行

nyy                             複製含光標所在行內往下的 n 行

x                                 向後剪切、刪除一個字符

X                                 向前剪切、刪除一個字符

nx                                 向後刪除/剪切n個字符

v                                 按v後移動光標會選中指定字符,可以實現複製、粘貼等操作

u                                 恢復一次操作(最多恢復50次)

Ctrl+r                         還原時多還原了一次的話,按此快捷鍵取消一次還原操作

dG                             從刪除光標所在行以下所有行

d^                             刪除光標之前到行首的內容

D或d$                         刪除光標到行尾的內容


5.5 進入編輯模式

i                          光標所在位置開始編輯

I                          光標跳到行首,從行首開始編輯

a                          光標所在後一個字符開始編輯

A                          光標所行的行末開始編輯

o                          光標行的下方插入一行開始編輯

O                          光標行的上方插入一行開始編輯


5.6 vim命令模式

/word                                          向光標之後查找一個字符串word,按 n 向下繼續搜索,N 或 shift+n 向上

?word                                           向光標之前查找一個字符串word,按 n 向上繼續搜索,N 或 shift+n 向下

:n1,n2s/word1/word2/g                 在n1~n2行間查找word1並替換爲word2,不加g則只替換每行第一個word1

:1,$s/word1/word2/g                     將文檔所有word1替換爲word2,不加g則只替換每行的第一個word1

:w                                                  保存文本

:q                                                  退出vim

:w!                                                  強制保存,在root用戶下,即使文本只讀也可以完成保存

:q!                                                  強制退出,所有改動不生效

:e!                                                  恢復到打開時的狀態

:set nu                                              顯示行號

:set nonu                                          不顯示行號

:↑                                                      上次使用的命令

:nohl                                                  高亮顯示的詞,不高亮提示

:x                                                          保存退出,更改文件後,更改mtime;未更改,wq會改mtime,x不會

:1,100s/dnsmasq/arslinux/g             從第1行到100行,s表示開始替換,把dnsmasq替換爲arslinux,g表示全部替換

1,$s/\/etc\/hosts\//arslinux/g             把/etc/hosts/替換爲arslinux,用 \ 轉義;或者 1,$s#/etc/hosts/#arslinux/g或者@符號分隔

\ 轉義 或者 用 # 作爲語法字符


5.7 vim實踐

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

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)

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向右移動光標找到“lyl”,按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;dd再O也可以)

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

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



vim的特殊用法 http://www.apelearn.com/bbs/thread-9334-1-1.html

vim常用快捷鍵總結 http://www.apelearn.com/bbs/thread-407-1-1.html

vim快速刪除一段字符 http://www.apelearn.com/bbs/thread-842-1-1.html

vim亂碼 http://www.apelearn.com/bbs/thread-6753-1-1.html

小鍵盤問題 http://www.apelearn.com/bbs/thread-7215-1-1.html

vim加密  http://www.apelearn.com/bbs/thread-7750-1-1.html




0326課堂筆記


兩個問題

1,磁盤和文件系統(目錄)

df -h

fdisk -l 查看分區、磁盤

du -sh 查看文件佔用磁盤大小 同 ls 不一樣,一般比 ls 出的要大

du -sh 目錄/ >文件 可以重定向到空白文件中,不用等他結束

重定向>後不能由空格

/dev/sdb1 不是目錄,無法cd,必須掛載到一個目錄,cd到該目錄裏


2,vim的臨時文件

swp交換文件

vim自動保存的功能,防止數據丟失

在當前目錄下生成一個 .swp 文件,直到 保存退出自動消失

5.png


vim特殊用法 http://ask.apelearn.com/question/9334

★ vim 粘貼代碼自動縮進導致全亂了 http://ask.apelearn.com/question/6753

vim的小鍵盤問題 http://ask.apelearn.com/question/7215

快速刪除一段字符 http://ask.apelearn.com/question/842

vim加密 http://ask.apelearn.com/question/7750


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章