vim下一頁(不容錯(cuò)過的 Vim 實(shí)用技巧請(qǐng)查收)Vim 是 Linux 系統(tǒng)上的最著名的文本/代碼編輯器,也是早年的 Vi 編輯器的加強(qiáng)版 。一直以來,Vim 普遍被推崇為類 Vi 編輯器中最好的一個(gè),其擁有代碼補(bǔ)全、編譯及錯(cuò)誤跳轉(zhuǎn)等諸多豐富的功能,接下來,本文將與大家分享一些 Vim 使用上的一些實(shí)用技巧,希望對(duì)技術(shù)路上的程序員們有所裨益 。

文章插圖
作者 | Hillel Wayne譯者 | 彎月,責(zé)編 | 屠敏以下為譯文:我使用Vim已經(jīng)8年多了,但至今仍然可以發(fā)現(xiàn)新的技巧 。通常這算得上是一件好事 。然而,在我看來,不斷發(fā)現(xiàn)新事物也許是失敗之處,因?yàn)槟愫茈y知道Vim還有哪些功能 。雖然人們經(jīng)常談?wù)撃B(tài)編輯或文本對(duì)象的美感,但我認(rèn)為這并不是Vim的本質(zhì) 。Vim是一個(gè)拼湊而成的子系統(tǒng),每一部分都塞滿了各種特殊用途的工具 。僅在普通模式下就有超過一百種不同的鍵盤輸入命令 。密集的功能成就了Vim的實(shí)用性 。如果你想“顯示與關(guān)鍵字匹配的所有標(biāo)簽”,那么只需輸入“g]”,所以人人都喜歡使用這個(gè)工具 。由于這個(gè)系統(tǒng)很難發(fā)現(xiàn)新東西,我們必須依靠閱讀指南來尋找 。然而,有關(guān)Vim的文檔并不多 。入門文章的話,我們只有ciw等幾篇(https://wikileaks.org/ciav7p1/cms/page_3375350.html),還有深入到子系統(tǒng)中的專家文章 。但沒有人真正談?wù)撃切┯刑厥饽康牡募记?,所以人們只好在過去的6年中不斷探索偶遇新功能 。我希望通過這篇文章向大家介紹一些Vim使用上的小技巧 。這些技巧都很淺顯,我鼓勵(lì)你了解更多有趣的技巧 。這些技巧之間沒有關(guān)聯(lián)性 ??偟膩碚f,它們能給予你很多幫助 。組織形式Vim的用戶大致可以分為兩類 。第一類人是純粹主義者,他們喜歡Vim的小巧和無處不在 。在不熟悉的計(jì)算機(jī)上使用Vi(例如在ssh期間)時(shí),他們傾向于保持最低限度的配置 。另外一類人是形式主義者,他們喜歡在Vim中安裝各種插件、函數(shù)以及和自定義的鍵盤映射,目的只是為了假裝他們正在使用Emacs 。如果你拿走這些形式主義者的vimrc,他們就會(huì)感到非常無助 。而我本人可能更加偏向于形式主義者 。根據(jù)是否涉及向基本的Vim添加映射或設(shè)置,我可以將Vim的使用技巧分成兩個(gè)部分 。純粹主義者的Vim我使用標(biāo)準(zhǔn)Vim幫助中的表示形式來書寫模態(tài)命令,即表示按下回車鍵 。在需要使用:h獲取幫助的時(shí)候,例如:h E676,我會(huì)將幫助的字符串寫到括號(hào)中 。其他普通命令":,@:": 是保存最后執(zhí)行的命令的寄存器 ??梢允褂?:p將該寄存器的內(nèi)容顯示到當(dāng)前緩沖區(qū)中 。@:返回最后一條命令 。"=這個(gè)是“表達(dá)式”寄存器 ??梢栽谠摷拇嫫髦休斎肴魏蝪imL表達(dá)式,并使用ctrl-R等進(jìn)行粘貼 。例如,輸入"=strftime("%c")p可以粘貼當(dāng)前時(shí)間戳 。mA,'Am{letter}在當(dāng)前光標(biāo)位置設(shè)置標(biāo)記 。之后可以用'{letter}跳轉(zhuǎn)到標(biāo)記所在行 。小寫字母的標(biāo)記僅限于當(dāng)前緩沖區(qū),所以可以用它們進(jìn)行導(dǎo)航 。大寫字母是全局的:如果你當(dāng)前不在標(biāo)記A指明的文件中,那么'A將會(huì)跳轉(zhuǎn)到那個(gè)文件 。利用:marks:命令可以查看設(shè)置過的所有標(biāo)記 。ctrl-A和ctrl-X增加或減少當(dāng)前行內(nèi)、當(dāng)前光標(biāo)所在位置之后的下一個(gè)數(shù)字 。該命令將會(huì)跳轉(zhuǎn)到數(shù)字,所以可以在任何地方使用 。例如,10c-A要比wwwwwciw20容易得多 。q:打開之前輸入過的命令的歷史窗口 。該窗口可以像任何Vim文本窗口一樣進(jìn)行操作,但對(duì)其進(jìn)行修改則不會(huì)被保存 。但按下可以運(yùn)行修改后的命令 。該功能可以十分方便快捷地修改并重新運(yùn)行命令,或者搜索舊命令以便重新使用 。q/,q?與q:相同,不過打開的是搜索歷史 。ctrl-I,ctrl-O跳轉(zhuǎn)到跳轉(zhuǎn)列表中的下一個(gè)或上一個(gè)位置 。常用于翻看一個(gè)東西后跳轉(zhuǎn)回原位置 。閱讀幫助文件時(shí)非常有用 。宏關(guān)于宏的進(jìn)階內(nèi)容參考這篇文章(https://www.hillelwayne.com/post/vim-macro-trickz/) ??梢暷J絞v選擇前一個(gè)可視范圍 。v_o跳轉(zhuǎn)到可視塊的另一端 。當(dāng)你發(fā)現(xiàn)可視塊開始處少了一行時(shí)非常有用 。在塊模式下,該命令會(huì)跳轉(zhuǎn)到對(duì)角位置;使用v_O可以跳轉(zhuǎn)到水平方向的另一端 。g ctrl-A / ctrl-X在可視模式下,ctrl-A僅增加每一行的第一個(gè)數(shù)字 。相反,g ctrl-A會(huì)對(duì)每個(gè)匹配的行進(jìn)行增一的操作 。用表格解釋可能更方便:
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助:- 我十二歲怎么讓胸在一天變大 的罩杯
- 一兩的大閘蟹有吃頭嗎
- 桂林是哪個(gè)省的景區(qū)
- 相信勞榮枝悔罪是真的 勞榮枝二哥希望向受害者家屬當(dāng)面道歉
- 煮大閘蟹要不要把綁的草弄掉
- 20元背面印的是桂林的哪個(gè)景點(diǎn)
- 苗族的風(fēng)俗有哪些
- 性價(jià)比最高的ipad ipad二代是什么型號(hào)
- 好的紅酒是什么口感
- 劇本殺是干什么的 劇本殺入門基礎(chǔ)知識(shí)
