亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

7種提高工作效率的Vim操作技巧

Travis / 2548人閱讀

摘要:本文首發(fā)于姐的教程網(wǎng)種提高工作效率的操作使用技巧,授權(quán)我原創(chuàng)發(fā)布。宏使用命令重復(fù)執(zhí)行一些比較簡(jiǎn)單的任務(wù)時(shí)非常高效,但是當(dāng)需要執(zhí)行的操作比較復(fù)雜時(shí),宏是更理想的選擇。每執(zhí)行一次宏就會(huì)把當(dāng)前行替換成的形式并自動(dòng)將光標(biāo)移到下一行。

本文首發(fā)于VV姐的vim教程網(wǎng) 7種提高工作效率的Vim操作-Vim使用技巧(6),授權(quán)我原創(chuàng)發(fā)布。

Vim一直被認(rèn)為是一種非常高效的文本編輯器,但是對(duì)于普通用戶來說,很難在入門的時(shí)候就體會(huì)到Vim的所謂高效性。

本文介紹7種提高你工作效率和生產(chǎn)力的Vim使用技巧,主要集中在對(duì)某個(gè)文件范圍內(nèi)的特定目標(biāo)執(zhí)行相同的重復(fù)性操作。拋磚引玉,作為你體驗(yàn)使用Vim進(jìn)行高效操作的入門級(jí)教程。

1. Vim重復(fù)操作命令.

在vim重復(fù)操作命令. (英文句點(diǎn))介紹過,. 命令可以用于重復(fù)上次修改。在《Vim實(shí)用技巧》一書中花了大量篇幅介紹" . 范式":一次按鍵移動(dòng),一次按鍵執(zhí)行。

假設(shè)想在以下的JavaScript代碼里的 + 前后加上空格以使代碼更加美觀,可以執(zhí)行以下Vim操作:f+s?+?;.;.;.

var foo = "method("+argument1+","+argument2+")"; 

在上面的Vim操作中,首先使用字符查找命令 f 查找到第一個(gè)出現(xiàn) + 的位置,然后使用 s 命令刪除光標(biāo)下的字符后再進(jìn)入插入模式,在輸入完 ?+? 后退出插入模式,完成了第一個(gè) + 前后增加空格的操作。

使用Vim命令 ; 會(huì)在當(dāng)前行重復(fù)查找上次 f 命令所查找的目標(biāo)字符,而 . 命令則重復(fù)上次的修改。因此,可以連續(xù)輸入 3 次 ;. 來完成全部修改操作。

:Vim命令 scl 的復(fù)合命令形式,表示刪除一個(gè)字符并進(jìn)入插入模式,更多內(nèi)容可參考Vim刪除并進(jìn)入插入模式命令c。

2. Vim宏

使用Vim . 命令重復(fù)執(zhí)行一些比較簡(jiǎn)單的任務(wù)時(shí)非常高效,但是當(dāng)需要執(zhí)行的操作比較復(fù)雜時(shí),Vim宏是更理想的選擇。

Vim宏很適合針對(duì)一系列相似的行、段落,甚至是文件,進(jìn)行重復(fù)性的修改。用宏把任意數(shù)目的按鍵操作錄制到寄存器,用于之后的回放,可以非常高效地實(shí)現(xiàn)重復(fù)操作。

假如有很多宏定義的常量

#define CONST_A 1 
#define CONST_B 2
#define CONST_C 3
#define CONST_D 4
#define CONST_E 5
...

現(xiàn)在想替換成const常量的形式

const int CONST_A = 1;
const int CONST_B = 2;
const int CONST_C = 3;
const int CONST_D = 4;
const int CONST_E = 5;
...

可以錄制這樣的一個(gè)宏:

qa 鍵開始錄制宏,將宏存到 a 寄存器

0 將光標(biāo)移到行首,按 ce 刪除 #define 并進(jìn)入插入模式,輸入 const int 并按ESC回到普通模式

e 來到變量名的最后一個(gè)字母,按 a 進(jìn)入插入模式,輸入 = ,按ESC回到普通模式

A 將光標(biāo)移動(dòng)到最后并進(jìn)入插入模式,輸入 ; 并按ESC回到普通模式

j 將光標(biāo)移到下一行,按 q 結(jié)束宏錄制

錄完這個(gè)宏之后,就可以按 @a 回放錄制的宏操作。每執(zhí)行一次宏就會(huì)把當(dāng)前行替換成const的形式并自動(dòng)將光標(biāo)移到下一行。

因此,只需要按9次 @a 或者一次性執(zhí)行 9@a 就可以替換完所有要編輯的行。

3. Vim可視化模式

Vim可視化模式下可以選擇一塊編輯區(qū)域,然后對(duì)選中的文件內(nèi)容執(zhí)行插入、刪除、替換、改變大小寫等操作。

可視化模式能高效地對(duì)一塊目標(biāo)區(qū)域執(zhí)行相同的操作,是在Vim場(chǎng)景下執(zhí)行重復(fù)操作的一種高效方法。

比如,如果想一次性注釋多行文本,可以如下操作:

(1) 普通模式下按 Ctrl + v 進(jìn)入塊選擇模式
(2) 向上或向下移動(dòng)光標(biāo)選擇多行
(3) 移動(dòng)光標(biāo)到行的起始位置
(4) 然后按大寫的I進(jìn)入行首插入模式
(5) 插入注釋符
(6) 按Esc回到命令模式

需要注意的是:Vim同時(shí)編輯多行時(shí),只有在當(dāng)前的插入動(dòng)作 結(jié)束后 (按 Esc 退為命令模式),之前選中的其它行才會(huì)顯示執(zhí)行后的結(jié)果。

4. Vim normal命令

Vim normal 命令可以在命令行模式執(zhí)行普通模式下的命令,當(dāng)normal命令與Vim可視化模式結(jié)合時(shí),只需很少的操作就能完成大量重復(fù)性工作。

比如在編輯Markdown文件時(shí)想在某些行前面都加上 - 讓普通文本行變成無序列表,可以先用 V 選中這些行,然后按 :"<,">normal I- 并回車即可實(shí)現(xiàn)。

5. Vim替換命令s

Vim命令行模式下使用 :substitute 命令 (縮寫形式 s ) 可以將指定范圍內(nèi)的字符替換成其他目標(biāo)字符,實(shí)現(xiàn)同時(shí)處理多個(gè)目標(biāo)行的操作效果。

例如,假設(shè)希望將Vim當(dāng)前打開文件的所有行尾多余的空格刪除,可以使用Vim命令 :%s= *$==

其中,% 表示整個(gè)文件范圍, *$ 表示以0個(gè)或多個(gè) * 結(jié)尾的文本行,更多關(guān)于 :substitute 命令的使用,可以參考Vim替換命令substitute小結(jié)。

6. Vim寄存器

Vim中很多東西都是通過寄存器來傳遞,比如復(fù)制剪切一段文本、訪問系統(tǒng)的剪貼板,錄制的宏等,都是將對(duì)應(yīng)的操作結(jié)果保存在寄存器內(nèi)。使用 :reg 寄存器名 命令可以查看對(duì)應(yīng)寄存器中的內(nèi)容。

關(guān)于Vim寄存器的更多內(nèi)容可以參考Vim教程網(wǎng)上的內(nèi)容:Vim寄存器介紹、Vim剪切、復(fù)制、粘貼和刪除操作與Vim無名寄存器。

在插入模式下或者命令行模式下,使用 +寄存器名 可以輸入寄存器里的內(nèi)容。例如,在插入模式下,可以通過輸入 " 來插入無名寄存器的內(nèi)容,或輸入 0 來插入復(fù)制專用寄存器中的內(nèi)容。

舉個(gè)例子,想使用 :s 命令替換一個(gè)很長(zhǎng)的單詞而又不想手動(dòng)輸入它,可以先在普通模模式下使用命令 piwpiW 將其復(fù)制下來,默認(rèn)會(huì)包存到無名寄存器 " 里,然后使用 " 就可以將復(fù)制的單詞輸入到 :s 命令中。

7. Vim光標(biāo)快速移動(dòng)

關(guān)于Vim光標(biāo)移動(dòng)的內(nèi)容,可以查看Vim光標(biāo)移動(dòng)命令匯總,在此先不做贅述。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/25033.html

相關(guān)文章

  • Vim 哲學(xué)(三)

    摘要:插件鍵位映射技巧性的配置等等都是錦上添花,它們有助于你進(jìn)一步提高效率以及個(gè)性化你的工作環(huán)境,但是對(duì)于哲學(xué)的理解幫助甚少。為你開啟語法高亮。你可以自定義各種語言的語法高亮,無非就是根據(jù)這些規(guī) 如果沒有挑戰(zhàn),人生將多么無趣! 兩種副本 在我的硬盤上總是保留著(至少)兩份 Vim 的配置文件。其中一份是所謂完全正式版,它的文件名是 .vimrc,到本系列結(jié)束的時(shí)候,我們將了解其中...

    klinson 評(píng)論0 收藏0
  • vim編輯器技巧備忘(初級(jí)-中級(jí))

    摘要:相反,不顯示行號(hào)設(shè)置為粘貼模式,解決粘貼時(shí)縮進(jìn)錯(cuò)亂問題。會(huì)自動(dòng)加入創(chuàng)建從當(dāng)前行起至以下行的折疊標(biāo)記,進(jìn)行折疊。中的標(biāo)記都有一個(gè)名字,這個(gè)名字用單一的字符表示。 學(xué)習(xí)vim并且其會(huì)成為你最后一個(gè)使用的文本編輯器 學(xué)習(xí)建議: 丟棄鼠標(biāo)和小鍵盤 具有搭配使用各種按鍵的意識(shí) 首先來一張 mindmap : showImg(http://sean-images.qiniudn.com/V...

    187J3X1 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<