5.1 vim介紹
·vim 是 vi 的升級版本
·vim 是帶有顏色顯示的
·默認沒有安裝 vim 的話,手動安裝 vim-enhanced 包
[root@arslinux-01 ~]# yum install -y vim-enhanced
·一般模式、編輯模式、命令模式
一般模式:dd 等
編輯模式:按 i 開始編輯後
命令模式:/ 搜索、查找替換、:wq保存退出
5.2 vim顏色顯示和移動光標
·相同的文件在不同的目錄下,有可能導致顏色沒有了
/etc 下有顏色,其他目錄無顏色
[root@arslinux-01 ~]# vim /tmp/passwd
·在沒有顏色的配置文件中,添加 # 開頭的行,保存重新打開,會發現,有顏色顯示了
·將名稱改成 .sh 也會有顏色
[root@arslinux-01 ~]# mv /tmp/passwd /tmp/passwd.sh [root@arslinux-01 ~]# vim !$ vim /tmp/passwd.sh
·其實沒必要糾結會不會顯示顏色,顏色往往根據文件的具體內容有關,如果是腳本的話,可能根據腳本的不同來顯示具體的顏色
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 文件,直到 保存退出自動消失
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