一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Linux|Centos|Ubuntu|系統(tǒng)進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務(wù)器之家 - 服務(wù)器系統(tǒng) - Linux - Vim如何使用相對行號實現(xiàn)一切操作詳解

Vim如何使用相對行號實現(xiàn)一切操作詳解

2022-02-21 17:52laixintao Linux

在使用用Vim時時常會遇到像復(fù)制多行或者想快速向下/向上移動多行時而不知道行數(shù)的情況, 今天發(fā)現(xiàn)一個Vim對此有幫助的特性: 相對行號,下面這篇文章主要給大家介紹了關(guān)于Vim如何使用相對行號實現(xiàn)一切操作的相關(guān)資料,需要的朋

前言

大家都知道,我們使用vim的一點好處就是,可定制性非常高,如果遇到任何讓自己感到不適的痛點,都可以通過配置甚至開發(fā)一款插件來解決。開始使用vim一段時間之后,我發(fā)現(xiàn)一個非常“反人類”的地方:vim的很多命令都是需要查行數(shù)的。比如“刪除一個函數(shù)體”,你就要數(shù)數(shù)這個函數(shù)占了幾行(比如5行),然后按5dd。如果是使用鼠標的話就不用數(shù)了,可以直接拖過去,但是鼠標效率太低,既然學(xué)了vim就不要讓手離開鍵盤了。

我總結(jié)了一套方案,幾乎所有的操作都可以不用數(shù)數(shù)來完成。

vim支持兩種行號,相對行號和絕對行號。相對行號是顯示每一行距離光標所在行相隔多少行,絕對行號就是順序顯示每一行的序號。

vim使用相對

set nu打開行號顯示, set rnu打開相對行號顯示(更多信息可以查看:help nu :help rnu

效果如下:

Vim如何使用相對行號實現(xiàn)一切操作詳解
打開行號顯示

Vim如何使用相對行號實現(xiàn)一切操作詳解
打開相對行號的顯示

Vim如何使用相對行號實現(xiàn)一切操作詳解
同時打開相對行號和絕對行號

可以看到,如果同時打開二者,就會在當(dāng)前行顯示絕對行號,其他顯示距離當(dāng)前行的距離。

使用一段時間我發(fā)現(xiàn),在normal模式時,經(jīng)常進行對多行的操作,這時候如果使用絕對行號,那么必然是要做減法,或者去數(shù)數(shù)來確定行的數(shù)量的。所以在normal模式應(yīng)該使用相對行號。0對我們來說是沒有任何作用的,所以當(dāng)前行還是顯示行號吧。

然后一些常用的操作習(xí)慣都要相應(yīng)換一下:

  • 刪除n行。3dd是刪除包括當(dāng)前行一共3行,但是因為顯示的是相對行號,我們要“刪除直到目標行”的時候,要不自覺的+1,比如在上面最后一幅圖,要刪除直到“終端配色安裝”的內(nèi)容,就要按4dd。有沒有辦法不用計算,所見即所得呢?有的,d3j即可。command+直到目標行號+方向。例如刪除直到上面“我對……”的內(nèi)容,就是d4k。
  • 其余的操作也是類似,例如移動到下面4行,可以用4gg,也可以用g4j。其他還有yank操作等。
  • 替換范圍本來是使用絕對行號就可以,例如替換10-20行,就是:10,20s/xxx/yyy/g,但是由于我們normal模式顯示了相對行號,那么就要根據(jù)相對行號操作了: :.+2,.+12s/xxx/yyy/g (假設(shè)當(dāng)前在第8行)。.在vim中表示當(dāng)前行,要善于利用。由于我們顯示的是相對行號,所以基本上和行號有關(guān)的操作都需要計算完成,用.加上/減去顯示的相對行號(所見即所得)

在insert模式時,我們一般都是編輯操作,不會對多行進行判斷,此時可能對絕對行號更關(guān)心(寫到多少行了等)。所以可以監(jiān)聽一下事件,進入編輯模式時使用絕對行號,退出編輯模式進入normal模式時使用相對行號。

設(shè)置如下:

?
1
2
3
4
5
6
set nu
augroup relative_numbser
 autocmd!
 autocmd insertenter * :set norelativenumber
 autocmd insertleave * :set relativenumber
augroup end

set nu是因為我一般打開一個文件不一定是編輯目的,瀏覽的話絕對行號更方便。這樣設(shè)置可以讓第一次進入文件的時候使用絕對行號,進入編輯模式再退出到normal模式時再顯示相對行號。

這樣用了一段時間,感覺按下的鍵多了,但是腦子里需要的計算少了很多,還不容易出錯,挺好的。

最后附上,供參考使用,不推薦盲目復(fù)制。

相關(guān)問題

在 vim 7.4 之前的版本, 啟用相對行號當(dāng)前行號將變?yōu)?, 無法顯示正常的行號, 在 vim 7.4 中則可以正常的顯示當(dāng)前行號的同時來顯示相對行號, 下面有兩張圖可以對比

vim 7.3

Vim如何使用相對行號實現(xiàn)一切操作詳解

vim 7.4

Vim如何使用相對行號實現(xiàn)一切操作詳解

從上面的圖片看來, 啟用相對行號后可以很直觀的看到當(dāng)前行距離上面/下面某行的行數(shù)

可以使用以下指令啟用這個特性

?
1
set relativenumber

啟用相對行號后再也不用為了復(fù)制多行費力氣的去數(shù)了

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對服務(wù)器之家的支持。

原文鏈接:https://www.kawabangga.com/posts/2287

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲国产精品成人久久 | 暖暖的视频完整视频韩国免费 | 久久久久免费视频 | 欧美一区二区不卡视频 | 我要看免费毛片 | 大伊香蕉在线精品不卡视频 | free service性v极品 | 女人麻豆国产香蕉久久精品 | 亚洲国产高清一区二区三区 | 成人黄色a级片 | 精品国产无限资源免费观看 | 3x3x3x短视频在线看 | 精品一久久香蕉国产线看播放 | 四虎影视4hu最新地址在线884 | 国产成人精品男人的天堂538 | 吉泽明步高清无码中文 | 歪歪视频在线播放无遮挡 | 亚洲无限观看 | 亚洲一级特黄特黄的大片 | 夫妇交换小说全文阅读 | 60老妇性xxxxhd | 扒开斗罗美女了的胸罩和内裤漫画 | 和直男装修工在工地啪 | 国产人成77777视频网站 | 香蕉免费一区二区三区在线观看 | 日韩精品一区二区三区中文在线 | 6080窝窝理论 | 亚洲日本在线观看网址 | 国产高清不卡码一区二区三区 | 边摸边吃奶又黄激烈视频韩国 | 无遮免费网站在线入口 | 国产激情在线 | 4p高h三男一女 | 强波多野结衣女教师 | 美女露全身永久免费网站 | 视频二区 素人 欧美 日韩 | 久久这里只有精品无码3D | 体检小说 | 99精品在线免费观看 | 帅老头恋帅老头同性tv | 日本中文字幕高清 |