相關(guān)概念
?????? vim簡介:vi(Visual Interface)揖曾,文本編輯器果复,vim->viimproved
?????? 文本編輯器種類:
????????????? 行編輯器:sed
????????????? 全屏編輯器:vi,nano
????????????? 圖形編輯器:gedit(簡單圖形編輯器),gvim(vim編輯器圖形版本)
?????? *vim既可以編輯文本也可以編輯二進(jìn)制文件(-b選項)
主要模式
?????? 編輯模式:insert,修改文本
?????? 命令模式:normal锈至,默認(rèn)模式,移動光標(biāo)译秦,復(fù)制粘貼文本
?????? 擴(kuò)展命令模式:extended_command峡捡,保存退出等
?????? *替換模式:replace击碗,命令模式下使用R進(jìn)入,不經(jīng)常使用
模式切換
?????? normal-->insert:i们拙、a稍途、o、I砚婆、A晰房、O等
?????? insert-->normal:Esc
?????? normal-->extended_command:使用冒號:
?????? extended_command-->normal:Esc
編輯模式
?????? 方向鍵移動光標(biāo),手動輸入字符
命令模式
?????? 退出:ZZ(保存)射沟,ZQ(不保存)
?????? 查找:/pattern(光標(biāo)處向文件尾部查找)、?pattern(光標(biāo)處向文件首部查找)
?????? 光標(biāo)跳轉(zhuǎn):
????????????????字符跳轉(zhuǎn):方向鍵与境;h(左)验夯、j(下)、k(上)摔刁、l(右)
????????????????單詞跳轉(zhuǎn):w(下個單詞詞首)挥转、e(當(dāng)前或下個單詞詞尾)、b(當(dāng)前或前個單詞詞首)共屈;num w(e绑谣、b)->一次跳轉(zhuǎn)num個單詞
? ? ? ? ????????頁面跳轉(zhuǎn):H(頁首)、M(頁中)拗引、L(頁尾)借宵、zt(光標(biāo)所在行移至屏幕頂端)、zz(移至屏幕中間)矾削、zb(移至屏幕底端)
? ? ? ? ????????行跳轉(zhuǎn):num G(跳轉(zhuǎn)至num行)壤玫、G(最后一行)、1G(第一行)哼凯、gg(第一行)
????????????????行間跳轉(zhuǎn):0(移至行首)欲间、^(移至行首第一個非空白字符)、$(移至行尾)
????????????????句間跳轉(zhuǎn):) 后一句断部、( 前一句
????????????????段間跳轉(zhuǎn):} 后一段猎贴、{ 前一段
?????? ????????翻屏:PgUp、PgDn
?????? ????????字符編輯:
????????????? ????????刪除字符:x(刪除光標(biāo)處字符)蝴光、num x(刪除光標(biāo)處起num個字符)她渴、J(刪除換行符)
????????替換字符:r(替換光標(biāo)處字符)、~(轉(zhuǎn)換大小寫)
? ? ? ? 刪除操作:
? ? ? ? 復(fù)制操作:
????????粘貼操作:
????????????????p(緩存區(qū)復(fù)制的命令為整行時粘貼至光標(biāo)所在行下方,否則粘貼至光標(biāo)后)
????????????????P(緩存區(qū)復(fù)制的命令為整行時粘貼至光標(biāo)所在行上方著拭,否則粘貼至光標(biāo)前)
?????? 改變操作:
????????????? c命令:操作類似于d命令纱扭,命令作用為先執(zhí)行復(fù)制命令再切換至編輯模式
?????? 特殊命令:
????????????? numi content [Esc]:在光標(biāo)處粘貼content內(nèi)容num次
????????????? vi[:選中[ ]之間的內(nèi)容(光標(biāo)需在[ ]之間)
????????????? di”:刪除” ”之間的內(nèi)容(光標(biāo)需在“ ”之間)
????????????? yi(:刪除( )之間的內(nèi)容(光標(biāo)需在( )之間)
????????????? *上述三個操作標(biāo)識符可自行定義,但冒號:在使用時失效
????????組合命令:
????????????? y儡遮、d乳蛾、gU(變大寫)、gu(變小寫)
????????????? [eg]:0y$->0(光標(biāo)移至行首)+y(開始復(fù)制)+$(復(fù)制到所在行行尾)
? ? ? ? 撤銷更改:u(撤銷最近更改)鄙币、U(撤銷之前多次更改)
????????重復(fù)操作:Ctrl+r(重做最后撤銷的更改)肃叶、.(重復(fù)前個操作)、num.(重復(fù)前個操作num次)
擴(kuò)展命令模式
?????? ????退出::q十嘿、:q!(強(qiáng)制退出因惭,丟棄所做的修改)、:wq(保存退出)绩衷、:x(保存退出)
?????????? 地址定界:
? ??????????查找替換:
????????????????? :地址定界 s /待替換內(nèi)容/替換內(nèi)容/修飾符(標(biāo)識符不一定用/,可自行選擇)
????????????? ????待替換內(nèi)容:可使用模式匹配
????????????? ????替換內(nèi)容:不能使用模式咳燕,但可使用\1,\2等后向引用符號或&
????????????標(biāo)識符:i(忽略大小寫)勿决、g(全局替換)、gc(全局替換招盲,每次替換前詢問)
????????????????????? [eg]:%s #etc#root#g(表示將全文所有的etc替換為root)