這篇文章將為大家詳細講解有關(guān)在Vim中如何進(jìn)行文本選擇操作和使用標志,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
基于圖形界面的文本或源代碼編輯器,提供了一些諸如文本選擇的功能。我是想說(shuō),可能大多數人不覺(jué)得這是一個(gè)功能。不過(guò)像 Vim 這種基于命令行的編輯器就不是這樣。當你僅使用鍵盤(pán)操作 Vim 的時(shí)候,就需要學(xué)習特定的命令來(lái)選擇你想要的文本。在這個(gè)教程中,我們將詳細討論文本選擇這一功能以及 Vim 中的標志功能。
在此之前需要說(shuō)明的是,本教程中所提到的例子、命令和指令都是在 Ubuntu 16.04 的環(huán)境下測試的。Vim 的版本是 7.4。
Vim 的文本選擇功能
我們假設你已經(jīng)具備了 Vim 編輯器的基本知識。你應該知道,d 命令能夠剪切/刪除一行內容。如果你想要剪切 3 行的話(huà),可以重復命令 3 次。不過(guò),如果需要剪切 15 行呢?重復 d 命令 15 次是個(gè)實(shí)用的解決方法嗎?
顯然不是。這種情況下的最佳方法是,選中你想要剪切/刪除的行,再運行 d 命令。舉個(gè)例子:
假如我想要剪切/刪除下面截圖中 INTRODUCTION 小節的第一段:
那么我的做法是:將光標放在第一行的開(kāi)始,(確保退出了 Insert 模式)按下 V(即 Shift+v)命令。這時(shí) Vim 會(huì )開(kāi)啟視圖模式,并選中第一行。
現在,我可以使用方向鍵“下”,來(lái)選中整個(gè)段落。
這就是我們想要的,對吧!現在只需按 d 鍵,就可以剪切/刪除選中的段落了。當然,除了剪切/刪除,你可以對選中的文本做任何操作。
這給我們帶來(lái)了另一個(gè)重要的問(wèn)題:當我們不需要刪除整行的時(shí)候,該怎么做呢?也就是說(shuō),我們剛才討論的解決方法,僅適用于想要對整行做操作的情況。那么如果我們只想刪除段落的前三句話(huà)呢?
其實(shí)也有相應的命令 - 只需用小寫(xiě) v 來(lái)代替大寫(xiě) V 即可。在下面的例子中,我使用 v 來(lái)選中段落的前三句話(huà):
有時(shí)候,你需要處理的數據由單獨的列組成,你的需求可能是選擇特定的一列??紤]下面的截圖:
假設我們只需選擇文本的第二列,即國家的名字。這種情況下,你可以將光標放在這一列的第一個(gè)字母上,按 Ctrl+v 一次。然后,按方向鍵“下”,選中每個(gè)國家名字的第一個(gè)字母:
然后按方向鍵“右”,選中這一列。
小竅門(mén):如果你之前選中了某個(gè)文本塊,現在想重新選中那個(gè)文本塊,只需在命令模式下按 gv 即可。
使用標志
有時(shí)候,你在處理一個(gè)很大的文件(例如源代碼文件或者一個(gè) shell 腳本),可能想要切換到一個(gè)特定的位置,然后再回到剛才所在的行。如果這兩行的位置不遠,或者你并不常做這類(lèi)操作,那么這不是什么問(wèn)題。
但是,如果你需要頻繁地在當前位置和一些較遠的行之間切換,那么最好的方法就是使用標志。你只需標記當前的位置,然后就能夠通過(guò)標志名,從文件的任意位置回到當前的位置。
在 Vim 中,我們使用 m 命令緊跟一個(gè)字母來(lái)標記一行(字母表示標志名,可用小寫(xiě)的 a - z)。例如 ma。然后你可以使用命令 'a (包括左側的單引號)回到標志為 a 的行。
小竅門(mén):你可以使用“單引號” ' 來(lái)跳轉到標志行的第一個(gè)字符,或使用“反引號” ` 來(lái)跳轉到標志行的特定列。
Vim 的標志功能還有很多其他的用法。例如,你可以先標記一行,然后將光標移到其他行,運行下面的命令:
d'[標志名]
來(lái)刪除當前位置和標志行之間的所有內容。
在 Vim 官方文檔中,有一個(gè)重要的內容:
每個(gè)文件有一些由小寫(xiě)字母(a-z)定義的標志。此外,還存在一些由大寫(xiě)字母(A-Z)定義的全局標志,它們定義了一個(gè)特定文件的某個(gè)位置。例如,你可能在同時(shí)編輯十個(gè)文件,每個(gè)文件都可以有標志 a,但是只有一個(gè)文件能夠有標志 A。
我們已經(jīng)討論了使用小寫(xiě)字母作為 Vim 標志的基本用法,以及它們的便捷之處。下面的這段摘錄講解的足夠清晰:
由于種種局限性,大寫(xiě)字母標志可能乍一看不如小寫(xiě)字母標志好用,但它可以用作一種快速的文件書(shū)簽。例如,打開(kāi) .vimrc 文件,按下 mV,然后退出。下次再想要編輯 .vimrc 文件的時(shí)候,按下 'V 就能夠打開(kāi)它。
最后,我們使用 delmarks 命令來(lái)刪除標志。例如:
:delmarks a
這一命令將從文件中刪除一個(gè)標志。當然,你也可以刪除標志所在的行,這樣標志將被自動(dòng)刪除。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站