您好,登錄后才能下訂單哦!
小編給大家分享一下Vim使用相對行號的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
前言
大家都知道,我們使用Vim的一點好處就是,可定制性非常高,如果遇到任何讓自己感到不適的痛點,都可以通過配置甚至開發一款插件來解決。開始使用Vim一段時間之后,我發現一個非常“反人類”的地方:Vim的很多命令都是需要查行數的。比如“刪除一個函數體”,你就要數數這個函數占了幾行(比如5行),然后按5dd。如果是使用鼠標的話就不用數了,可以直接拖過去,但是鼠標效率太低,既然學了Vim就不要讓手離開鍵盤了。
我總結了一套方案,幾乎所有的操作都可以不用數數來完成。
Vim支持兩種行號,相對行號和絕對行號。相對行號是顯示每一行距離光標所在行相隔多少行,絕對行號就是順序顯示每一行的序號。
Vim使用相對
set nu打開行號顯示, set rnu打開相對行號顯示(更多信息可以查看:help nu
和 :help rnu
。
效果如下:
打開行號顯示
打開相對行號的顯示
同時打開相對行號和絕對行號
可以看到,如果同時打開二者,就會在當前行顯示絕對行號,其他顯示距離當前行的距離。
使用一段時間我發現,在normal模式時,經常進行對多行的操作,這時候如果使用絕對行號,那么必然是要做減法,或者去數數來確定行的數量的。所以在normal模式應該使用相對行號。0對我們來說是沒有任何作用的,所以當前行還是顯示行號吧。
然后一些常用的操作習慣都要相應換一下:
在insert模式時,我們一般都是編輯操作,不會對多行進行判斷,此時可能對絕對行號更關心(寫到多少行了等)。所以可以監聽一下事件,進入編輯模式時使用絕對行號,退出編輯模式進入normal模式時使用相對行號。
設置如下:
set nu augroup relative_numbser autocmd! autocmd InsertEnter * :set norelativenumber autocmd InsertLeave * :set relativenumber augroup END
set nu是因為我一般打開一個文件不一定是編輯目的,瀏覽的話絕對行號更方便。這樣設置可以讓第一次進入文件的時候使用絕對行號,進入編輯模式再退出到normal模式時再顯示相對行號。
這樣用了一段時間,感覺按下的鍵多了,但是腦子里需要的計算少了很多,還不容易出錯,挺好的。
最后附上我的.vimrc,供參考使用,不推薦盲目復制。
相關問題
在 Vim 7.4 之前的版本, 啟用相對行號當前行號將變為0, 無法顯示正常的行號, 在 Vim 7.4 中則可以正常的顯示當前行號的同時來顯示相對行號, 下面有兩張圖可以對比
Vim 7.3
Vim 7.4
從上面的圖片看來, 啟用相對行號后可以很直觀的看到當前行距離上面/下面某行的行數
可以使用以下指令啟用這個特性
set relativenumber
啟用相對行號后再也不用為了復制多行費力氣的去數了
以上是Vim使用相對行號的方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。