溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在Vim中如何進(jìn)行文本選擇操作和使用標(biāo)志

發(fā)布時間:2021-08-10 09:29:23 來源:億速云 閱讀:154 作者:小新 欄目:系統(tǒng)運維

這篇文章將為大家詳細(xì)講解有關(guān)在Vim中如何進(jìn)行文本選擇操作和使用標(biāo)志,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

基于圖形界面的文本或源代碼編輯器,提供了一些諸如文本選擇的功能。我是想說,可能大多數(shù)人不覺得這是一個功能。不過像 Vim 這種基于命令行的編輯器就不是這樣。當(dāng)你僅使用鍵盤操作 Vim 的時候,就需要學(xué)習(xí)特定的命令來選擇你想要的文本。在這個教程中,我們將詳細(xì)討論文本選擇這一功能以及 Vim 中的標(biāo)志功能。

在此之前需要說明的是,本教程中所提到的例子、命令和指令都是在 Ubuntu 16.04 的環(huán)境下測試的。Vim 的版本是 7.4。

Vim 的文本選擇功能

我們假設(shè)你已經(jīng)具備了 Vim 編輯器的基本知識。你應(yīng)該知道,d 命令能夠剪切/刪除一行內(nèi)容。如果你想要剪切 3 行的話,可以重復(fù)命令 3 次。不過,如果需要剪切 15 行呢?重復(fù) d 命令 15 次是個實用的解決方法嗎?

顯然不是。這種情況下的最佳方法是,選中你想要剪切/刪除的行,再運行 d 命令。舉個例子:

假如我想要剪切/刪除下面截圖中 INTRODUCTION 小節(jié)的第一段:

在Vim中如何進(jìn)行文本選擇操作和使用標(biāo)志

那么我的做法是:將光標(biāo)放在第一行的開始,(確保退出了 Insert 模式)按下 V(即 Shift+v)命令。這時 Vim 會開啟視圖模式,并選中第一行。

在Vim中如何進(jìn)行文本選擇操作和使用標(biāo)志

現(xiàn)在,我可以使用方向鍵“下”,來選中整個段落。

在Vim中如何進(jìn)行文本選擇操作和使用標(biāo)志

這就是我們想要的,對吧!現(xiàn)在只需按 d 鍵,就可以剪切/刪除選中的段落了。當(dāng)然,除了剪切/刪除,你可以對選中的文本做任何操作。

這給我們帶來了另一個重要的問題:當(dāng)我們不需要刪除整行的時候,該怎么做呢?也就是說,我們剛才討論的解決方法,僅適用于想要對整行做操作的情況。那么如果我們只想刪除段落的前三句話呢?

其實也有相應(yīng)的命令 - 只需用小寫 v 來代替大寫 V 即可。在下面的例子中,我使用 v 來選中段落的前三句話:

在Vim中如何進(jìn)行文本選擇操作和使用標(biāo)志

有時候,你需要處理的數(shù)據(jù)由單獨的列組成,你的需求可能是選擇特定的一列??紤]下面的截圖:

在Vim中如何進(jìn)行文本選擇操作和使用標(biāo)志

假設(shè)我們只需選擇文本的第二列,即國家的名字。這種情況下,你可以將光標(biāo)放在這一列的第一個字母上,按 Ctrl+v 一次。然后,按方向鍵“下”,選中每個國家名字的第一個字母:

在Vim中如何進(jìn)行文本選擇操作和使用標(biāo)志

然后按方向鍵“右”,選中這一列。

在Vim中如何進(jìn)行文本選擇操作和使用標(biāo)志

小竅門:如果你之前選中了某個文本塊,現(xiàn)在想重新選中那個文本塊,只需在命令模式下按 gv 即可。

使用標(biāo)志

有時候,你在處理一個很大的文件(例如源代碼文件或者一個 shell 腳本),可能想要切換到一個特定的位置,然后再回到剛才所在的行。如果這兩行的位置不遠(yuǎn),或者你并不常做這類操作,那么這不是什么問題。

但是,如果你需要頻繁地在當(dāng)前位置和一些較遠(yuǎn)的行之間切換,那么最好的方法就是使用標(biāo)志。你只需標(biāo)記當(dāng)前的位置,然后就能夠通過標(biāo)志名,從文件的任意位置回到當(dāng)前的位置。

在 Vim 中,我們使用 m 命令緊跟一個字母來標(biāo)記一行(字母表示標(biāo)志名,可用小寫的 a - z)。例如 ma。然后你可以使用命令 'a (包括左側(cè)的單引號)回到標(biāo)志為 a 的行。

小竅門:你可以使用“單引號” ' 來跳轉(zhuǎn)到標(biāo)志行的第一個字符,或使用“反引號” ` 來跳轉(zhuǎn)到標(biāo)志行的特定列。

Vim 的標(biāo)志功能還有很多其他的用法。例如,你可以先標(biāo)記一行,然后將光標(biāo)移到其他行,運行下面的命令:

d'[標(biāo)志名]

來刪除當(dāng)前位置和標(biāo)志行之間的所有內(nèi)容。

在 Vim 官方文檔中,有一個重要的內(nèi)容:

每個文件有一些由小寫字母(a-z)定義的標(biāo)志。此外,還存在一些由大寫字母(A-Z)定義的全局標(biāo)志,它們定義了一個特定文件的某個位置。例如,你可能在同時編輯十個文件,每個文件都可以有標(biāo)志 a,但是只有一個文件能夠有標(biāo)志 A。

我們已經(jīng)討論了使用小寫字母作為 Vim 標(biāo)志的基本用法,以及它們的便捷之處。下面的這段摘錄講解的足夠清晰:

由于種種局限性,大寫字母標(biāo)志可能乍一看不如小寫字母標(biāo)志好用,但它可以用作一種快速的文件書簽。例如,打開 .vimrc 文件,按下 mV,然后退出。下次再想要編輯 .vimrc 文件的時候,按下 'V 就能夠打開它。

最后,我們使用 delmarks 命令來刪除標(biāo)志。例如:

:delmarks a

這一命令將從文件中刪除一個標(biāo)志。當(dāng)然,你也可以刪除標(biāo)志所在的行,這樣標(biāo)志將被自動刪除。

關(guān)于“在Vim中如何進(jìn)行文本選擇操作和使用標(biāo)志”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

vim
AI