vim與vi的區別html
vim是vi的升級版,vim與vi最大的區別是vim帶有顏色顯示。vim
使用vim須要安裝:yum -y install yumc#
vim三種模式:windows
通常模式、編輯模式、命令模式bash
模式 | 說明 |
---|---|
通常模式 | 如dd行刪除、複製粘貼就是通常模式 |
編輯模式 | 按‘i’‘a’等,進行操做就是編輯模式 |
命令模式 | 如'/' 查找替換,:wq這些都是命令模式 |
vim顏色顯示工具
vim顏色會根據文件的目錄、文件類型等來斷定進行顯示顏色。如/etc/passwd移到/tmp目錄下不會顯示顏色,再改爲.sh類型就又會顯示顏色。加密
vim配置文件3d
/etc/vimrc是vim的配置文件,控制vim的用法。這個做爲了解便可。htm
vim通常模式下的光標移動經常使用按鍵blog
光標移動鍵:
操做 | 按鍵 |
---|---|
向右 | l |
向左 | h |
向下 | j |
向上 | k |
同上操做方向鍵也能夠實現 | ↑←↓→ |
加數字能夠指定移動的行數,如:5+l就能夠往右移動5位
其它操做:
按鍵 | 說明 |
---|---|
Ctrl+f | 向前翻頁 |
Ctrl+b | 向後翻頁 |
數字'0'或者Shift+6 | 移動到行首 |
Shift+4 | 移動到行末 |
gg | 快速移動到首行 |
G | 快速移動到末行 |
nG | n爲數字,快速移動到n行。 |
按鍵 | 說明 |
---|---|
dd(按兩下) | 刪除/剪貼光標所在的行 |
ndd | 刪除/剪貼光標所在行以後的n行。n爲數字 |
x/X | x刪除光標後一個字符,X刪除光標前一個字符 |
nx | 向後刪除n個字符。n爲數字 |
yy | 複製光標所在行 |
p | 從光標所在行,向下粘貼 |
P | 從光標所在行,向上粘貼 |
u | 還原上一步,能夠多此還原,最後50次。 |
Ctrl+r | 反還原上一步,和windows的Ctrl+z相似 |
v | 按下v後能夠進行自由選擇,可實現自由複製、刪除等操做。 |
編輯模式就是進入可編輯文檔的模式。
按鍵 | 說明 |
---|---|
i | 在光標的前一位進行編輯 |
I(大寫i) | 在光標行行首進行編輯 |
a | 光標的後一位進行編寫 |
A | 光標行行尾進行編輯 |
o | 光標行下一行進行編輯 |
O | 光標行上一行進行編輯 |
搜索
向下搜索:/word 搜索到的內容會高亮顯示
向下查找:n
向上查找:shift + n
向下搜索:?word 搜索到的內容會高亮顯示
向下查找:shift +n
向上查找:n
替換
用法:開始行,結束行s/關鍵詞/替換詞/g
示例:替換1-10包含root的內容,替換爲xxx
:1,10s/root/xxx/g
若是沒g則只會替換每一行的第一次出現的關鍵字,後面的並不會替換。
結果:
示例2:不指定行進行全文替換
:1,$s/test/xxx/g
全文替換把結束行換成$便可。
示例3:含有特殊符號的替換
好比想要替換的內容中含有"/"。
一種方法是使用脫意符號,還有一種更加簡單的方法:
把替/換成別的符號便可:1,$s#/etc#ooo#g
vim命令模式經常使用的命令
按鍵 | 說明 |
---|---|
:w | 保存 |
:wq | 保存退出 |
:w! | 強制保存 |
:q | 退出 |
:q! | 強制退出,全部的改動不會生效 |
:set | nu 顯示行號 |
:set | nonu 不顯示行號 |
:nohl | 取消高亮顯示 |
:x | 保存並退出,若是文本沒有任何改動,不會更改mtime |
按照如下要求進行操做
(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」,並數一下該字符串出現的次數(/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 而後按l向右移動光標找到"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」)。