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