目錄
1、vim介紹
2、vim顏色顯示和移動光標
3、vim通常模式下移動光標
4、vim通常模式下複製、剪切和粘貼
5、進入編輯模式
6、vim命令模式
7、vim實踐html
1、vim介紹shell
vi是最重要的unix及類unix操做系統的文件編輯器,vi編輯器由Bill Joy於1976年建立。vim是vi的改進版。vim
vim的安裝:yum -y install vim-enhancedsession
vim的啓動:直接在命令行輸入vim或vim filename(想要編輯的文件名)app
vim的三種模式編輯器
1.通常模式:控制屏幕光標的移動、刪除、複製某處的文件或行加密
2.插入模式:進行文件輸入操作系統
3.命令模式:便可以保存文件或退出vim,也能夠設置編輯環境。命令行
三種模式的關係unix
2、vim顏色顯示和移動光標
vi默認不帶顏色高亮,而vim默認是自帶文件顏色高亮效果。可是位置不一樣,cp後的顏色不必定還存在,顏色跟具體內容有關係。
命令模式光標移動
按鍵 | 功能說明 |
---|---|
h或向左箭頭鍵 | 光標向左移動一個字符 |
j或向下箭頭鍵 | 光標向下移動一個字符 |
k或向上箭頭鍵 | 光標向上移動一個字符 |
l或向右箭頭鍵 | 光標向右移動一個字符 |
3、vim通常模式下移動光標
按鍵 | 功能說明 |
---|---|
pagedown、ctrl+f | 屏幕向下移動一頁 |
PageUp、ctrl+b | 屏幕向上移動一頁 |
G | 移動到文件的最後一行 |
nG | 移動到文件的第n行 |
gg | 移動到文件的第一行 |
0 | 移動到當前行的第一行字符 |
$ | 移動到當前行的最後一個字符 |
n↓ | 向下移動n行 |
4、vim通常模式下複製、剪切和粘貼
命令行模式刪除、複製、粘貼的方法
按鍵 | 功能說明 |
---|---|
x | 向後刪除一個字符 |
X | 向前刪除一個字符 |
nx | 連續向後刪除n個字符 |
dd | 刪除當前行 |
ndd | 刪除包括當前行在內的向下n行 |
d1G | 刪除當前行以前的全部數據 |
dG | 刪除當先後的全部數據 |
d$ | 當前行中,刪除光標至最後一個字符的數據 |
d0 | 當前行中,刪除該行第一個字符至光標所在位置的數據 |
yy | 複製當前行 |
nyy | 複製包含當前行在內的向下n行數據 |
y1G | 複製當前行以前的全部數據 |
yG | 複製當前行以後的全部數據 |
y0 | 複製光標所在的那個字符到該行行首的全部數據 |
y$ | 複製光標所在的那個字符到該行行尾的全部數據 |
p | 將已複製的數據粘貼到當前行的下一行 |
P | 將已複製的數據粘貼到當前行的上一行 |
u | 撤銷上一個動做 |
[ctrl] + r | 重作上一個動做 |
. | 重複上一個動做 |
塊選擇的按鍵意義
按鍵 | 功能 |
---|---|
v | 字符選擇,會將光標通過的地方高亮選擇 |
V | 行選擇,會將光標通過的行高亮選擇 |
ctrl+v | 塊選擇,能夠用長方形的方式選擇 |
y | 複製高亮選擇的區域內容 |
d | 刪除高亮選擇的區域內容 |
5、進入編輯模式
進入編輯模式的方法
按鍵 | 功能說明 |
---|---|
i | 在當前光標所在位置插入文字,已存在的內容會向後退 |
I | 在當前行的第一個非空格字符處插入文字 |
a | 從目前光標所在的下一個字符處開始插入 |
A | 從光標所在行的最後一個字符處開始插入 |
o | 從光標目前所在行的下一行處插入新的一行 |
O | 從光標目前所在行的上一行處插入新的一行 |
r | 取代光標所在的那個字符 |
R | 一直取代光標所在的文字,直到按下Esc鍵 |
6、vim命令模式
經常使用操做說明
按鍵 | 說明 |
---|---|
:w | 保存,將修改後的內容保存 |
:w! | 強制保存,當文件屬性爲只讀時可使用這種方法來強制寫入 |
:q | 退出 |
:q! | 強制退出,而且不保存所修改的內容 |
:wq | 保存後退出 |
:e! | 將文件還原到最初始的狀態 |
ZZ | 若是文件沒有被修改則不保存離開,若是已修改則保存離開 |
:w [filename] | 將修改後的文件另存爲其餘文件 |
:r [filename] | 在編輯的文件中,讀入另外一個文件的內容 |
:n1,n2 w[filename] | 將n1到n2的內容保存爲filename這個文件 |
:! command | 暫時離開vi到指令模式下執行命令command |
:set nu | 顯示行號 |
:set nonu | 取消顯示行號 |
n | 重複前一個搜尋動做 |
N | 反向進行前一個搜尋動做 |
:n1,n2s/word1/word2/g | 在第n1與n2行之間查找word1字符串,並將該字符串替換爲word2 |
:n1,n2s/word1/word2/gc | 與以上內容相同,可是在替換以前請用戶確認是否須要替換 |
7、vim實踐
實踐文件生成
man vi > temp
下述實踐操做基於temp文件
1. 分別向下、向右、向左、向上移動6個字符(6j 6l 6h 6k) 2. 分別向下、向上翻兩頁(分別按兩次ctrl+f和ctrl+b或分別按兩次PageUp和PageDown) 3. 把光標移動到49行(49G) 4. 把光標移動到行尾,再移動到行首(shift+4或$,shift+6或0) 5. 移動到temp文件的最後一行(G) 6. 移動到文件的首行(gg) 7. 搜索文件中出現的"vim",並數一下該字符出現的次數(/vim 而後按n) 8. 把從第1行到第10行出現的vim替換成gedit(:1,10s/vim/gedit/g) 9. 還原上一步操做(u) 10. 把整個文件中全部的etc替換成cte(:1,$s/etc/cte/g) 11. 把光標移動到第20行,刪除字符串"editor"(20G,而後按l向右移動光標找到editor,dw刪除) 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大寫)
vim快速刪除一段字符
http://www.apelearn.com/bbs/thread-842-1-1.html
vim亂碼
http://www.apelearn.com/bbs/thread-6753-1-1.html
用vim打開一個空白文檔,而後把已經複製的代碼給粘貼進來,發現它有自動縮進功能,最終致使粘貼的文本一行比一行靠右,看起來亂成一團。比較快的解決辦法是,在粘貼文檔前,在命令行模式下,輸入
:set noai nosi
而後按'i' 進入編輯模式,再粘貼已經複製的代碼內容,這樣就不會自動縮進了。
有時候,這樣的方法很差用,能夠嘗試這種:
:set paste
數字小鍵盤問題
小鍵盤問題
http://www.apelearn.com/bbs/thread-7215-1-1.html
在putty上用vi的時候,開NumLock時按小鍵盤上的數字鍵並不能輸入數字,而是出現一個字母而後換行(其實是命令模式上對應上下左右的鍵)。解決方法
選項Terminal->Features裏,找到Disable application keypad mode,選上就能夠了
在xmanager 4 中的xshell也有小鍵盤問題 解決方法爲
修改session 屬性 -> 終端->VT模式->初始數字鍵盤模式
選擇 設置爲普通。
vim加密
http://www.apelearn.com/bbs/thread-7750-1-1.html
Linux用vim/vi給文件加密和解密
1、利用 vim/vi 加密:
優勢:加密後,若是不知道密碼,就看不到明文,包括root用戶也看不了;
缺點:很明顯讓別人知道加密了,容易讓別人把加密的文件破壞掉,包括內容破壞和刪除;
vi編輯器相信你們都很熟悉了吧,vi裏有一個命令是給文件加密的,舉個例子吧:
1)首先在root主目錄/root/下創建一個實驗文件text.txt:
[root@www ~]# vim/vi text.txt
2)進到編輯模式,輸入完內容後按ESC,而後輸入:X(注意是大寫的X),回車;
3)這時系統提示讓你輸入密碼,2次,以下所示:
輸入密碼: ******* 請再輸入一次: *******
4)保存後退出,如今這個文件已經加密了;
5)用cat或more查看文件內容,顯示爲亂碼;用 vim/vi 從新編輯這個文件,會提示輸入密碼,若是輸入的密碼不正確,一樣會顯示爲亂碼!
注意:文件加密後,千萬別忘了密碼!
2、解密用vi加密的文件(前提是你知道加密的密碼):
1)用 vim/vi 打開文件如text.txt,要輸入正確的密碼,而後在編輯時,將密碼設置爲空,方法是輸入下面的命令:
:set key=
而後直接回車,保存文件後,文件已經解密了。
2)或者這樣也行:
在正確打開文件後用 「:X」 指令,而後給一個空密碼也能夠。保存用「wq!」保存。
兩種方法實際上效果是同樣的。
vim cheat sheat
Vim cheat sheet參考
Vim cheat sheet參考1
參考 https://coolshell.cn/articles/5426.html http://michael.peopleofhonoronly.com/vim/