在這天地間,流傳着兩大神器的故事:Emacs是神的編輯器,而vim是編輯器之神。vim是vi的加強版,它是一款功能很是強大的全屏編輯器。vim
1、vim是文本編輯器 緩存
一、文本文件:通常是指只有字符原生編碼構成的二進制計算機文件,與富文本相比,不包含字樣樣式的控制元素,可以被最簡單的編輯器讀取。編輯器
二、文本文件常見格式;ASC編碼格式、txt、Unicodeide
三、文本編輯器:文本編輯器是計算機軟件中的一種,主要用於編寫和查看文本文件。編碼
四、編輯器的種類spa
a、行編輯器:sedunix
b、全屏編輯器:vi、vim、nanocode
c、圖形編輯器:gedit、gvimorm
2、vim編輯器的基本操做it
一、 vim是一個模式化的編輯器,它有三種主要模式:
a、命令模式:打開文件後的默認模式,在此模式下,能夠移動光標,複製、剪切、和粘貼文本
b、插入模式:在此模式下,能夠修改文本
c、擴展模式:在此模式下,能夠保存和退出文本等
2.vim打開文件
a、vim +# file :打開文件後,光標直接處於第#行
b、vim +/PATTERN file:打開文件後,直接讓光標處於第一個被PATTERN匹配到的行的行首
c、vim + file:直接打開文件,光標處於最後一行行首
d。vim -e file 或者ex file:打開文件,直接進入擴展模式
e,vim file:若是文件存在,直接打開並顯示內容;若是文件不存在,第一次編輯存盤後建立該文件
三、vim模式轉換
a、命令模式轉換到插入模式
i:在當前光標處輸入
I:在當前光標所在行的行首輸入
A:在當前光標所在行的行尾輸入
a:在當前光標所在處得後面輸入
O:在當前光標所在行的上方打開一個新行
o:在當前光標所在行的下方打開一個新行
b、插入模式轉換到命令模式:ESC鍵
c、插入模式轉換到擴展模式:輸入冒號「:」
d、擴展模式轉換到命令模式:ESC鍵
四、擴展模式下退出文件
:q 不保存退出文件 :q! 不保存強制退出文件
:w 保存退出文件 :wq! 保存強制退出文件
:x 保存退出文件
ZZ:命令模式下,保存退出
ZQ:命令模式下,不保存退出
五、命令模式光標跳轉
h:光標向左跳轉 l:光標向右跳轉
j:光標向下跳轉 k:光標向上跳轉
#COMMAND:跳轉由#指定字符的個數
w:光標跳轉下一個單詞的詞首
e:光標跳轉當前或者下一個單詞的詞尾
b:光標跳轉當前或者前一個單詞的詞首
#COMMAND:跳轉由#指定跳轉的單詞數
H:光標跳轉當前頁第一行的行首
M:光標跳轉當前頁中間行的行首
L:光標跳轉當前頁最後行的行首
^:跳轉至行首的第一個非空白字符
0:跳轉至行首 $:跳轉至行尾
G:跳轉至文件最後一行 1G、gg:跳轉至文件第一行
#G:跳轉至文件第#行
):跳轉至下一句 (:跳轉至上一句
}:跳轉至下一段 {:跳轉至上一段
六、命令模式翻屏操做
ctrl+f:向文件尾部翻一屏
ctrl+b:向文件首部翻一屏
ctrl+u:向文件首部翻半屏
ctrl+d:向文件尾部翻半屏
七、命令模式操做:字符編輯、複製、粘貼、刪除、撤銷
x:刪除光標所在處字符
#x:從光標所在處刪除#個字符
xp:光標所在處得字符和光標後的字符進行位置交換
~:把小寫字母轉換成大寫字母
r:替換光標所在處得字符
d^:從光標所在處刪除到行首非空白字符
d$:從光標所在處刪除到行尾
d0:從光標所在處刪除到行首
dw:刪除一個單詞,光標跳到下個單詞詞首
de:刪除一個單詞,光標跳到當前單詞詞尾
db:刪除光標所在處以前的一個單詞,光標跳轉前一個詞尾
dd:刪除光標所在行整行
#dd:多行刪除
D:從光標所在處一直刪除到行尾
y$:從當前光標所在位置複製到行尾
y^:從當前光標所在位置複製到行首非空白字符
y0:從當前光標所在位置複製到行首
yw:複製當前光標所在位置後的一個單詞
ye:複製當前光標所在位置後的一個單詞,光標跳轉詞尾
yb:複製當前光標所在位置前的一個單詞
yy:複製當前光標所在位置整行
#yy:多行復制
Y:複製當前光標所在位置整行
p:若是緩存區複製的是整行,則粘貼至當前光標所在位置的下方,不然則粘貼在當前光標的後面
P:若是緩存區複製的是整行,則粘貼至當前光標所在位置的上方,不然則粘貼在當前光標的前面
c命令的用法和d命令用法同樣,c命令刪除字符以後轉換到插入模式
u:撤銷前面操做
#u:撤銷前面#次操做
U:撤銷光標落在此行以後的全部操做
.:重複前一個操做
n.:重複前n次操做
ctrl+r:從新作最後撤銷更改
八、擴展模式地址定界
:# 第#行
:#,# 第#行到第#行
:$ 最後一行
:% 全文
:. 當前行
:/pat1/,/pat2/ 從第一次被匹配到的pat開始,到第二次被匹配到的pat結束
九、擴展模式查找替換
:/PATTERN 從當前光標所在位置向文件尾部查找
:?PATTERN 從當前光標所在位置向文件首部查找
n:若是是向文件尾部查找到的結果,則向文件尾部,若是是向文件首部查找到的結果,則向文件首部.N則向反
s:替換 s/匹配到的內容/替換的字符/修飾符
i:修飾符,忽略大小寫
g:全局替換
十、vim定製工做特性。配置文件 ,永久有效
/etc/vimrc 全局配置文件,對所有用戶生效
~/.vimrc 我的配置文件,只對本身生效
a、設置行號 set nu 取消行號 set nonu
b、括號成對匹配 set sm 取消匹配 set nosm
c、啓用自動縮進 set ai 取消縮進 set noai
d、啓用語法高亮 syntax on 取消高亮 syntax off
e、忽略字符大小寫 set ic 取消忽略 set noic
f、文件格式 fileformat=unix fileformat=dos
g、設置文本寬度:set textwidth=65 set wrapmargin=15