一鄙煤、vim基本概述
? ? ? ?vi和vim是Linux下的一個文本編輯工具揭北。(像windows的記事本)
? ? ? ?vi和vim沒有本質(zhì)的區(qū)別子眶,vim是vi的增強(qiáng)版鸣哀,vim有語法檢測,語法高亮
? ? ? 安裝vim命令? ? ? yam? install? vim -y
二虽填、vim模式
? ? 普通模式丁恭、編輯模式、命令模式斋日、視圖模式
? ? ? ? ?1牲览、打開默認(rèn)為普通模式
? ? ? ? ?2、從普通模式切換至編輯模式(A,a恶守,I,i第献,O,o)
? ? ? ? ?3、編輯模式修改完畢后需要先使用ecs返回普通模式
? ? ? ? ?4兔港、在普通模式輸入“:”或“/”進(jìn)入命令模式庸毫,可實(shí)現(xiàn)文件的保存與退出。
? ? *無法直接從編輯模式切換到命令模式
普通模式
? ? ? 1押框、命令光標(biāo)跳轉(zhuǎn)
? ? ? ? ? ?G? ? ? ? 光標(biāo)跳轉(zhuǎn)至文件末端
? ? ? ? ? ?gg? ? ? ? 光標(biāo)跳轉(zhuǎn)至文件頂端
? ? ? ? ? Ngg? ? 光標(biāo)跳轉(zhuǎn)至文件的第N行
? ? ? ? ?$? ? ? ? ? 光標(biāo)跳轉(zhuǎn)至光標(biāo)所在行的尾部
? ? ? ? ^|0? ? ? ?光標(biāo)跳轉(zhuǎn)至當(dāng)前光標(biāo)所在行的首部
? ?2岔绸、翻頁
? ? ?ctrl+f? ? 向下翻頁
? ? ?ctrl+b? ? 往上翻頁
? 3理逊、復(fù)制與粘貼
? ? ? yy? ? ? ?復(fù)制當(dāng)前光標(biāo)所在的行
? ? ?*yy? ? ? 復(fù)制當(dāng)前光標(biāo)以及光標(biāo)向下的幾行
? ? ?P (大寫)? ? ? ?粘貼至當(dāng)前光標(biāo)下一行
? ? ?p? (小寫)? ? ? ?粘貼至當(dāng)前光標(biāo)上一行
? 4橡伞、刪除盒揉、剪貼、撤銷
? ? ?dd? ? ? ? 刪除光標(biāo)所在的行
? ? ?4dd? ? ?刪除當(dāng)前光標(biāo)所在的行以及往下的3行
? ? ?dG? ? ? ?刪除當(dāng)前光標(biāo)以后的所有行
? ? ?D? ? ? ? ? 刪除當(dāng)前光標(biāo)以及光標(biāo)以后的內(nèi)容
? ? ? x? ? ? ? ? ?刪除當(dāng)前光標(biāo)標(biāo)記往后的字符
? ? ?u? ? ? ? ? ?撤銷上一次的操作
? ? ? dd & p? ? ?剪貼兑徘、先刪除dd(number dd)刚盈,后粘貼p
5、替換
? ? ? r? ? ? ? ?替換當(dāng)前光標(biāo)標(biāo)記的單個字符
編輯模式
? ? ? i? ? ? ? #進(jìn)入編輯模式挂脑,光標(biāo)不做任何操作
? ? ? a? ? ? ?#進(jìn)入編輯模式藕漱,將當(dāng)前光標(biāo)往后一位
? ? ? o? ? ? ?#進(jìn)入編輯模式,并在當(dāng)前光標(biāo)下添加一行空白內(nèi)容
? ? ? I? ? ? ? #進(jìn)入編輯模式崭闲,并且光標(biāo)會跳轉(zhuǎn)至本行的頭部
? ? ?A? ? ? ?#進(jìn)入編輯模式肋联,將光標(biāo)移動至本行的尾部
? ? ?O? ? ? ?#進(jìn)入編輯模式,并在當(dāng)前光標(biāo)上添加一行空白內(nèi)容
命令模式
? ? 1刁俭、文件保存與退出
? ? ? ?:w? ? ? ?保存當(dāng)前狀態(tài)
? ? ? ?:q? ? ? ? 退出當(dāng)前文檔(文檔必須保存才能退出)
? ? ? :wq? ? ? 先退出橄仍,在保存
? ? ?:w!? ? 強(qiáng)制保存當(dāng)前狀態(tài)
? ? ? :q牍戚!? ? 強(qiáng)制退出文檔不會修改當(dāng)前內(nèi)容
? ? ?:wq侮繁!? ? 強(qiáng)制保存并退出
? ? ?:x? ? ? ? ?先保存,在退出
? ? ? zz? ? ? ? ? ?保存退出如孝,shfit+zz
? ? ?:number? ? 跳轉(zhuǎn)至對應(yīng)的行號
2宪哩、文件內(nèi)查找
? ? ? /string? ? ? ? ? 需要搜索的內(nèi)容(查找)
? ? ?n? ? ? ? ? ? ? ? ? 按搜索到的內(nèi)容依次往下進(jìn)行查找
? ? ? N? ? ? ? ? ? ? ? ? 按搜索到的內(nèi)容依次往上進(jìn)行查找
3、文件內(nèi)容替換
? ? ? :1,5s#sbin#test#g? ? ? ? ?#替換1-5行中包含sbin的內(nèi)容為test
? ? ? :%s#sbin#test#g? ? ? ? ? ?#替換整個文本文件中包含sbin的替換為test
4第晰、文件內(nèi)容另存
? ? ?:w? ?? /root/test.txt #將所有內(nèi)容另存為/root/test.txt文件中
視圖模式
? ? ? ctrl+v 進(jìn)入可視塊模式锁孟,選中需要注釋的行
? ? ? ? ? ?1.插入:按shift+i進(jìn)入編輯模式,輸入#,結(jié)束按ESC鍵
? ? ? ? ? ?2.刪除:選中內(nèi)容后,按d鍵刪除
? ? ? ? ? ?3.替換:選中需要替換的內(nèi)容, 按下r鍵,然后輸入替換后的內(nèi)容
? ? ? shift+v 進(jìn)入可視行模式但荤,選中整行內(nèi)容
? ? ? ? ? 1.復(fù)制:選中行內(nèi)容后按y鍵及可復(fù)制罗岖。
? ? ? ? ? 2.刪除:選中行內(nèi)容后按d鍵刪除。
拓展
? ? 1.環(huán)境變量臨時生效
? ? ? ? ? ? ? :set nu #顯示行號
? ? ? ? ? ? ? ?:set ic #忽略大小寫, 在搜索的時候有用
? ? ? ? ? ? ? ?:set ai #自動縮進(jìn)
? ? ? ? ? ? ? ?:set list #顯示制表符(空行腹躁、tab鍵)
? ? ? ? ? ? ? ?:set no[nu|ic|ai…] #取消臨時設(shè)定的變量
2.環(huán)境變量永久生效桑包。~/.vimrc 個人環(huán)境變量(優(yōu)先級高) /etc/vimrc 全局環(huán)境變量
3.如何同時編輯多個文件
? ? ? ? ? ?ctrl+ww? ? ? ? ? 文件間切換
4.相同文件之間差異對比,通常用于對比修改前后差異
? ? ? ? ? ? ? ? ? ? diff #文件對比
? ? ? ? ? ? ? ? ? ?vimdiff #以vim方式打開兩個文件對比纺非,高亮顯示不同的內(nèi)容
5.如果VIM非正常退出 (ctrl+z)掛起或強(qiáng)制退出終端沒關(guān)閉VIM后
? ? ? ? ? ? ? ? ? ? rm -f .filename.swp