vim編輯模式linux
在vim /xxxx.txt文件後,按a,i,o進入編輯模式vim
i 在當前光標字符前插入bash
I 大寫的i在行的行首插入dns
a 在當前光標字符後插入圖片
A 在光標所在行的行尾插入文檔
o 在當前行的下一行插入新的一行字符串
O 在當前行的上一行插入新的一行it
在vim裏面刪除光標後的全部字符 shift+d擴展
vim命令模式搜索
一、查找
/XXX 在編輯的文件向下查找XXX,按n查找下一個XXX
?XXX 在編輯的文件向上查找XXX,按n查找上一個XXX
(忽略大小寫的時候,在所要查找的字符串後面加\c,例如/XXX\c)
二、替換
冒號1,2s/word1/word2/g或者冒號1,2s#word1#word2/g
(表示從第1行到第二行,s表示開始替換,#號的方式可用於替換含有反斜槓的字符串。)
全文本替換字符串 冒號1,$s/word1/word2/g
不加小g爲替換每一行最前面的字符串,所有適用無論一行替換仍是全文替換。
忽略大小寫替換。
三、其餘命令
:w 回車保存文本
:q 推出vim
:w! 強制推出,全部改動不生效
:wq 保存並退出,若是內容沒改動,退出時仍是會修改mtime的時間,用:x退出就不會。
:set nu 顯示行號
:set nonu 不顯示行號
:10,15d 刪除/剪貼10到15行的內容, :10,15y 複製10到15行的內容
查找字符串的時候,命中的字符串會有高亮的顏色,若是不想顯示能夠用:nohl 去掉高亮顏色。
擴展
一、把正在編輯的文件另存爲新的文件
例:把正在編輯的文件另存爲到「/root/」下面並保存爲1.txt
在通常模式下輸入「:w /root/1.txt」
例:把正在編輯的文件的第10行到第15行另存爲1.txt並保存到root目錄下 在通常模式下輸入「:10,15 w /root/1.txt」
二、把其它文件的內容導入到正在編輯的文件的光標所在處
例:把「/root/1.txt」 文件的內容,導入到下在編輯的文件的第10行下面
首先在通常模式下按「10G」把光標定位到第10行
而後按「o」小寫,當前行的下面另起一行,並進入插入模式
最後按鍵盤上的返回到通常模式,再輸入「:r /root/1.txt」回車
三、正在編輯文件時,不退出文件仍能夠運行linux命令
例:我下在編輯一個文件,但這時候我想查看「/root/1.txt」 文件的內容,可是我不想退出我正在編輯的文件,那麼咱們能夠這樣
在編輯模式下輸入「:! cat /root/1.txt」
四、同時編輯多個文件 例:我現正在編輯1.txt文件,而後我想再打開root目錄下的2.txt同時編輯,並把窗口左右垂直分隔,一塊兒顯示在通常模式下輸入「:vsplit /root/2.txt」
注意:在通常模式下按「ctrl+w」組合鍵,能夠在不一樣窗口之間切換若是在通常模式下輸入「:only」那麼只保留當前正在編輯的窗口,其它全關閉(關閉的窗口不能有改動,改動的話用wq)
五、把文件恢復到打開時的狀態
在通常模式下輸入「:e!」
vim實踐操做
一、分別向下、向右、向左、向上移動6個字符
6j、6l、6h、6k
二、分別向下、向上翻2頁
PgDown
ctrl+f
PgUp
ctrl+b
三、把光標移動到第49行
49G
四、把光標移動到行尾,在移動到行首
shift+4或者end
shift+6或者home
五、移動到1.txt文件的最後一行
G
六、移動到文件的行首
gg
七、搜索文件中出現的"dnsmasq",並統計該字符串出現的次數
/dnsmasq 按n查找下一個,總共50次
八、把從第一行到第10行出現的dnsmasq替換成dns
:1,10s/dnsmasq/dns/g
九、還原上一步操做
按u鍵
十、把整個文件中全部的etc替換成cte
:1,$s/etc/cte/g
十一、把光標移動到25行,刪除字符串"ly"
25G
十二、還原上一步操做,按u 1三、刪除第50行
50G,dd
1四、還原上一步操做 1五、刪除第37-42行的全部內容
37G,5dd (數錯了,刪了5行)或者在命令模式:37,42d 回車進行刪除/剪貼
1六、還原上一步操做 1七、複製第48行的內容並粘貼到第52行下面
48G,yy,52G,p
1八、還原上一步操做 1九、複製第37-42行的內容並粘貼到第44行上面
37G,5yy,44G,P(複製少了1行)
20、還原上一步操做 2一、把第37-42行的內容移動到第19行下面
37G,6dd,19G,p
2二、還原上一步操做 2三、把光標移動到首行,把第一行內容改成"#!/bin/bash"
gg,按i鍵進行編輯,按esc退出編輯模式。
2四、在第1行下面插入新的1行,並輸入"#Hello!"
按o鍵,進行編輯。
2五、保存文檔並退出
按esc鍵,按shift+分號,輸入wq,回車。