柚子快報(bào)邀請(qǐng)碼778899分享:Vim學(xué)習(xí)筆記
柚子快報(bào)邀請(qǐng)碼778899分享:Vim學(xué)習(xí)筆記
博客主頁(yè):https://tomcat.blog.csdn.net 博主昵稱:農(nóng)民工老王 主要領(lǐng)域:Java、Linux、K8S 期待大家的關(guān)注?點(diǎn)贊?收藏?留言?
目錄
模式介紹指令概覽啟動(dòng)退出移動(dòng)光標(biāo)插入刪除復(fù)制替換撤銷搜索信息設(shè)置外部命令技巧
模式介紹
Vim有以下四種主要模式:
正常(normal)模式(也稱為普通模式),缺省的編輯模式;如果不加特殊說明,一般提到的命令都直接在正常模式下輸入;在任何其他模式中,都可以通過鍵盤上的Esc鍵回到正常模式。插入(insert)模式,輸入文本時(shí)使用;比如在正常模式下鍵入 i(insert)或 a(append)即可進(jìn)入插入模式??梢暎╲isual)模式,用于選定文本塊;教程中已經(jīng)提到可以用鍵v(小寫)來按字符選定,Vim里也提供其他不同的選定方法,包括按行和按列塊。命令行(command-line)模式,用于執(zhí)行較長(zhǎng)、較復(fù)雜的命令;在正常模式下鍵入冒號(hào)(:)即可進(jìn)入該模式;使用斜杠(/)和問號(hào)(?)開始搜索也算作命令行模式。命令行模式下的命令要輸入回車鍵( Enter)才算完成.
按下 ESC 鍵會(huì)帶您回到正常模式或者撤消一個(gè)不想輸入或部分完整的命令。
此外,Vim也有個(gè)選擇(select)模式,與普通的Windows編輯器行為較為接近,選擇內(nèi)容后再輸入任何內(nèi)容,將會(huì)替換選擇的內(nèi)容。在以可視模式和選擇模式之一選定文本塊之后,可以使用Ctrl-G切換到另一模式。這個(gè)模式主要是為了模擬 Windows 編輯器的行為,并不是Vim的主要用法,使用它反而會(huì)給Vim里的自動(dòng)化帶來麻煩,所以我們也就不多作介紹了。
指令概覽
基礎(chǔ)指令 完全指令
啟動(dòng)退出
進(jìn)入 Vim 編輯器(從命令行提示符),請(qǐng)輸入:vim 文件名 <回車>退出 Vim 編輯器,請(qǐng)輸入 :q! <回車> 放棄所有改動(dòng)。或者輸入 :wq <回車> 保存改動(dòng)。
移動(dòng)光標(biāo)
h:左移 j:下行 k:上行 l :右移
0 (數(shù)字零): 移動(dòng)光標(biāo)到行首。數(shù)字+w:如2w,使光標(biāo)右移兩個(gè)單詞,以單詞后的空格為計(jì)數(shù)的標(biāo)準(zhǔn),計(jì)數(shù)包括光標(biāo)本身的單詞,光標(biāo)將停在目標(biāo)單詞的第一個(gè)字符。 數(shù)字+e:如2e,使光標(biāo)右移兩個(gè)單詞,以單詞本身為計(jì)數(shù)的標(biāo)準(zhǔn),計(jì)數(shù)包括光標(biāo)本身的單詞,光標(biāo)將停在目標(biāo)單詞的最后一個(gè)字符。
G:可以使得當(dāng)前光標(biāo)直接跳轉(zhuǎn)到文件最后一行。 gg:光標(biāo)直接跳轉(zhuǎn)到文件第一行。 %:查找配對(duì)的括號(hào),包含( )、[ ]、{ }。
插入
i:在光標(biāo)所在字符前開始插入 a:在光標(biāo)所在字符后開始插入 o:在光標(biāo)所在行的下面另起一新行插入 s:刪除光標(biāo)所在的字符并開始插入 I:在光標(biāo)所在行的行首開始插入 如果行首有空格則在空格之后插入 A:在光標(biāo)所在你行的行尾開始插入 O:在光標(biāo)所在行的上面另起一行開始插入 S:刪除光標(biāo)所在行并開始插入
刪除
以下所有刪除實(shí)際上是剪切,刪除的內(nèi)容會(huì)被存儲(chǔ)在剪切板中??梢酝ㄟ^p進(jìn)行粘貼。
x:刪除光標(biāo)所在位置的字符 de:刪除 [ 光標(biāo)所在位置,光標(biāo)所在單詞的最后一個(gè)字符) dw:刪除 [ 光標(biāo)所在位置,下一個(gè)單詞的第一個(gè)字符) d$:刪除 [ 光標(biāo)所在位置,本行最后一個(gè)字符] dd:刪除該行。 cw / ce:刪除 [ 光標(biāo)所在位置,光標(biāo)所在單詞的最后一個(gè)字符),然后在光標(biāo)所在位置進(jìn)入編輯模式。 c$:刪除 [ 光標(biāo)所在位置,本行最后一個(gè)字符],然后在光標(biāo)所在位置進(jìn)入編輯模式。
復(fù)制
按v進(jìn)入可視模式。 移動(dòng)光標(biāo),以選中需要復(fù)制的文本。 按y復(fù)制。 將光標(biāo)移動(dòng)到目標(biāo)位置 按p粘貼
替換
r:替換光標(biāo)所在字符,輸入替換后的字符后,立刻退出編輯模式。 R:替換光標(biāo)所在字符,輸入替換后的字符后,光標(biāo)向右移動(dòng)一個(gè)位置,準(zhǔn)備替換下一個(gè)字符,按才退出替換的狀態(tài)。 :s/old/new :在一行內(nèi)替換頭一個(gè)字符串 old 為新的字符串 new。 :s/old/new/g 在一行內(nèi)替換所有的字符串 old 為新的字符串 new。 :#,#s/old/new/g:替換兩行之間出現(xiàn)的每個(gè)匹配串,其中 #,# 代表的是替換操作的若干行中 首尾兩行的行號(hào)。 :%s/old/new/g:在文件內(nèi)替換所有的字符串 old 為新的字符串 new。 :%s/old/new/gc:會(huì)找到整個(gè)文件中的每個(gè)匹配串,并且對(duì)每個(gè)匹配串,提示是否進(jìn)行替換。
撤銷
u (小寫的u):撤消以前的操作。 U (大寫的U):撤消在一行中所做的改動(dòng)。 CTRL-R:撤消以前的撤消命令,恢復(fù)以前的操作結(jié)果。
搜索
在正常模式下輸入 / 字符。您此時(shí)會(huì)注意到該字符和光標(biāo)都會(huì)出現(xiàn)在屏幕底部,這跟 : 命令是一樣的。接著輸入 待查找的字符串,然后按回車鍵。按n鍵查找下一個(gè)。按N查找上一個(gè)。如果您想逆向查找字符串,請(qǐng)使用 ? 代替 / 進(jìn)行。
信息
CTRL-G:顯示當(dāng)前編輯文件中當(dāng)前光標(biāo)所在行位置以及文件狀態(tài)信息。
設(shè)置
set number: 顯示行號(hào),可簡(jiǎn)寫為set nu。 set nonumber:關(guān)閉行號(hào),可簡(jiǎn)寫為 set nonu。 set list:把制表符顯示為^I ,用$標(biāo)示行尾。 set readonly:設(shè)置只讀。 set tabstop=4:設(shè)置 tab space 為4個(gè)空格,可簡(jiǎn)寫為set ts=4,此處的4可以換為任意正整數(shù)。
外部命令
輸入! 然后緊接著輸入一個(gè)外部命令可以執(zhí)行該外部命令。
技巧
Vim的行內(nèi)編輯可以歸納為[n]at
[n]是可選的量詞,表示處理對(duì)象的數(shù)量。a表示action,可以是c(change),y(yank),d(delete)。t表示target,可以是w(word),e(end),$(行尾),0(行首)。c是change,執(zhí)行c動(dòng)作后會(huì)進(jìn)入編輯模式,d是delete,執(zhí)行d動(dòng)作后不會(huì)進(jìn)入編輯模式,注意二者區(qū)別,靈活使用。w和e的區(qū)別在于如何處理空格,w把空格當(dāng)做當(dāng)前word的一部分,e則不處理空格。關(guān)于word間空格的一個(gè)例外是,c不處理,所以cw和ce是一樣的,而y,d則會(huì)處理空格,所以yw,ye,或dw,de不一樣。W或E則表示在action處理時(shí)包括標(biāo)點(diǎn)。
如需轉(zhuǎn)載,請(qǐng)注明本文的出處:農(nóng)民工老王的CSDN博客https://blog.csdn.net/monarch91 。
柚子快報(bào)邀請(qǐng)碼778899分享:Vim學(xué)習(xí)筆記
文章鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。