新聞中心
vi命令是UNIX操作系統(tǒng)和類UNIX操作系統(tǒng)中最通用的全屏幕純文本編輯器。Linux中的vi編輯器叫vim,它是vi的增強(qiáng)版(vi Improved),與vi編輯器完全兼容,而且實(shí)現(xiàn)了很多增強(qiáng)功能,本篇文章重點(diǎn)為大家講解一下Vim文本選擇操作和標(biāo)志。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、惠山網(wǎng)絡(luò)推廣、成都小程序開發(fā)、惠山網(wǎng)絡(luò)營銷、惠山企業(yè)策劃、惠山品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供惠山建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
Vim 的文本選擇功能
我們假設(shè)你已經(jīng)具備了 Vim 編輯器的基本知識(shí)(如果沒有,可以先閱讀這篇文章)。你應(yīng)該知道,d 命令能夠剪切/刪除一行內(nèi)容。如果你想要剪切 3 行的話,可以重復(fù)命令 3 次。不過,如果需要剪切 15 行呢?重復(fù) d 命令 15 次是個(gè)實(shí)用的解決方法嗎?
顯然不是。這種情況下的最佳方法是,選中你想要剪切/刪除的行,再運(yùn)行 d 命令。舉個(gè)例子:
假如我想要剪切/刪除下面截圖中 INTRODUCTION 小節(jié)的第一段:
那么我的做法是:將光標(biāo)放在第一行的開始,(確保退出了 Insert 模式)按下 V(即 Shift+v)命令。這時(shí) Vim 會(huì)開啟視圖模式,并選中第一行。
現(xiàn)在,我可以使用方向鍵“下”,來選中整個(gè)段落。
這就是我們想要的,對(duì)吧!現(xiàn)在只需按 d 鍵,就可以剪切/刪除選中的段落了。當(dāng)然,除了剪切/刪除,你可以對(duì)選中的文本做任何操作。
這給我們帶來了另一個(gè)重要的問題:當(dāng)我們不需要?jiǎng)h除整行的時(shí)候,該怎么做呢?也就是說,我們剛才討論的解決方法,僅適用于想要對(duì)整行做操作的情況。那么如果我們只想刪除段落的前三句話呢?
其實(shí)也有相應(yīng)的命令 – 只需用小寫 v 來代替大寫 V 即可。在下面的例子中,我使用 v 來選中段落的前三句話:
有時(shí)候,你需要處理的數(shù)據(jù)由單獨(dú)的列組成,你的需求可能是選擇特定的一列??紤]下面的截圖:
假設(shè)我們只需選擇文本的第二列,即國家的名字。這種情況下,你可以將光標(biāo)放在這一列的第一個(gè)字母上,按 Ctrl+v 一次。然后,按方向鍵“下”,選中每個(gè)國家名字的第一個(gè)字母:
然后按方向鍵“右”,選中這一列。
小竅門:如果你之前選中了某個(gè)文本塊,現(xiàn)在想重新選中那個(gè)文本塊,只需在命令模式下按 gv 即可。
使用標(biāo)志
有時(shí)候,你在處理一個(gè)很大的文件(例如源代碼文件或者一個(gè) shell 腳本),可能想要切換到一個(gè)特定的位置,然后再回到剛才所在的行。如果這兩行的位置不遠(yuǎn),或者你并不常做這類操作,那么這不是什么問題。
但是,如果你需要頻繁地在當(dāng)前位置和一些較遠(yuǎn)的行之間切換,那么最好的方法就是使用標(biāo)志。你只需標(biāo)記當(dāng)前的位置,然后就能夠通過標(biāo)志名,從文件的任意位置回到當(dāng)前的位置。
在 Vim 中,我們使用 m 命令緊跟一個(gè)字母來標(biāo)記一行(字母表示標(biāo)志名,可用小寫的 a – z)。例如 ma。然后你可以使用命令 ‘a(chǎn) (包括左側(cè)的單引號(hào))回到標(biāo)志為 a 的行。
小竅門:你可以使用“單引號(hào)” ‘ 來跳轉(zhuǎn)到標(biāo)志行的第一個(gè)字符,或使用“反引號(hào)” ` 來跳轉(zhuǎn)到標(biāo)志行的特定列。
Vim 的標(biāo)志功能還有很多其他的用法。例如,你可以先標(biāo)記一行,然后將光標(biāo)移到其他行,運(yùn)行下面的命令:
d'[標(biāo)志名]
來刪除當(dāng)前位置和標(biāo)志行之間的所有內(nèi)容。
在 Vim 官方文檔中,有一個(gè)重要的內(nèi)容:
每個(gè)文件有一些由小寫字母(a-z)定義的標(biāo)志。此外,還存在一些由大寫字母(A-Z)定義的全局標(biāo)志,它們定義了一個(gè)特定文件的某個(gè)位置。例如,你可能在同時(shí)編輯十個(gè)文件,每個(gè)文件都可以有標(biāo)志 a,但是只有一個(gè)文件能夠有標(biāo)志 A。
我們已經(jīng)討論了使用小寫字母作為 Vim 標(biāo)志的基本用法,以及它們的便捷之處。下面的這段摘錄講解的足夠清晰:
由于種種局限性,大寫字母標(biāo)志可能乍一看不如小寫字母標(biāo)志好用,但它可以用作一種快速的文件書簽。例如,打開 .vimrc 文件,按下 mV,然后退出。下次再想要編輯 .vimrc 文件的時(shí)候,按下 ‘V 就能夠打開它。
最后,我們使用 delmarks 命令來刪除標(biāo)志。例如:
:delmarks a
這一命令將從文件中刪除一個(gè)標(biāo)志。當(dāng)然,你也可以刪除標(biāo)志所在的行,這樣標(biāo)志將被自動(dòng)刪除。你可以在 Vim 文檔 中找到關(guān)于標(biāo)志的更多信息。
文章標(biāo)題:詳解Vim文本選擇操作和標(biāo)志
轉(zhuǎn)載注明:http://m.fisionsoft.com.cn/article/djehjde.html


咨詢
建站咨詢
