濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 在Vim中進(jìn)行文本選擇操作和使用標(biāo)志的方法

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

熱門(mén)標(biāo)簽:鶴壁點(diǎn)撥外呼系統(tǒng)好用嗎 i電銷(xiāo)機(jī)器人 預(yù)覽式外呼系統(tǒng)有什么用 玉林防封電銷(xiāo)卡 去電tm智能電話機(jī)器人 地圖標(biāo)注百度百科 慧營(yíng)銷(xiāo)外呼系統(tǒng)下載 湖北防封外呼系統(tǒng)運(yùn)營(yíng)商 硅基智能電話外呼系統(tǒng)

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

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

Vim 的文本選擇功能

我們假設(shè)你已經(jīng)具備了 Vim 編輯器的基本知識(shí)(如果沒(méi)有,可以先閱讀:https://www.jb51.net/os/Ubuntu/547230.html)。你應(yīng)該知道,d 命令能夠剪切/刪除一行內(nèi)容。如果你想要剪切 3 行的話,可以重復(fù)命令 3 次。不過(guò),如果需要剪切 15 行呢?重復(fù) d 命令 15 次是個(gè)實(shí)用的解決方法嗎?

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

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

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

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

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

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

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

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

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

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

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

使用標(biāo)志

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

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

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

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

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

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

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

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

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

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

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

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

:delmarks a

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

總結(jié)

當(dāng)你開(kāi)始使用 Vim 作為首選編輯器的時(shí)候,類(lèi)似于這篇教程中提到的功能將會(huì)是非常有用的工具,能夠節(jié)省大量的時(shí)間。你得承認(rèn),這里介紹的文本選擇和標(biāo)志功能幾乎不怎么需要學(xué)習(xí),所需要的只是一點(diǎn)練習(xí)。

標(biāo)簽:期貨 臨沂 廈門(mén) 商丘 達(dá)州 安陽(yáng) 吳忠 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Vim中進(jìn)行文本選擇操作和使用標(biāo)志的方法》,本文關(guān)鍵詞  在,Vim,中,進(jìn)行,文本,選擇,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在Vim中進(jìn)行文本選擇操作和使用標(biāo)志的方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于在Vim中進(jìn)行文本選擇操作和使用標(biāo)志的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    从江县| 江陵县| 六枝特区| 寿宁县| 大名县| 福泉市| 平陆县| 贵南县| 阿克苏市| 沙坪坝区| 元阳县| 淮安市| 宜兰市| 大荔县| 平罗县| 五河县| 上饶市| 古丈县| 瑞昌市| 张家港市| 溧阳市| 舒兰市| 灵台县| 定日县| 乐至县| 商洛市| 呼和浩特市| 繁峙县| 正镶白旗| 姜堰市| 德阳市| 梅河口市| 沐川县| 泸西县| 革吉县| 盐亭县| 定结县| 文昌市| 邵阳县| 沅陵县| 北安市|