輕快的VIM(一):移動


斷斷續續的使用VIM也一年了,會的始終都是那么幾個命令,效率極低

前幾個星期把Windows換成了Linux Mint,基本上也穩定了下來

就今晚,我已經下定決心開始新的VIM之旅,順便寫一系列的筆記和總結

還是那句話,我只是個新人,代碼也沒寫過多少行,但我一直在默默努力自學着

所以,還請老鳥們看看笑笑就行了,不要鄙視我,我很脆弱……

這是俺寫的《輕快的VIM系列》第一節,每一節都會不斷更新,加入更多技巧在里面

VIM新手們加油,咱一起總結,一起努力練習……

基礎

字符移動

k            上移                k
h            左移            h        l
l            右移                j
j            下移

你也可以使用鍵盤上的方向鍵來移動,但這么做h j k l的存在就失去了意義

之所以使用h j k l來控制方向,其主要目的是讓你的手不離開鍵盤中心,從而提高效率

tips:在命令前加上數字代表命令執行次數,如:5k,表示上移5行

 

單詞移動

W w            移動到下一個單詞開頭
E e            移動到下一個單詞結尾
B b            倒退到上一個單詞開頭

需要注意的是,E會忽略標點符號,如:I‘m,e會當成兩個單詞,E則不會

同樣,在命令前加上數字代表執行次數,如:2w,表示往下移動2個單詞

開頭我也許會多說幾遍,因為這個技巧很重要

 

整行移動

0            移動到行首
$            移動到行末
+            移動到下一行開頭
-            移動到上一行開頭

這里需要注意的是+ -和上面的j k有什么不同之處

j k也是移動到上一行和下一行,但它們移動的是光標所在的位置

+ -不管你的光標在何處,總是移動到下一行或上一行的行首

 

進階

滾屏

Ctrl+f            往前滾動一整屏
Ctrl+b            往后滾動一整屏
Ctrl+d            往前滾動半屏
Ctrl+u            往后滾動半屏

Ctrl+e            往后滾動一行        
Ctrl+y            往前滾動一行

看似比較多,但是可以根據鍵盤的位置來進行記憶,並且下面兩個也不常用

上面的滾屏都有一個共同點,就是會改變光標的位置,且屏幕也在改變

如果想讓光標維持在原來的位置實現滾屏請看下面

 

用z調整光標

z<Enter>        將光標所在行移動到屏幕頂端
z.              將光標所在行移動到屏幕中間
z-              將光標所在行移動到屏幕低端

tips:980z<Enter>可以將第980行移動到屏幕頂端

好吧,有時候你其實不想滾屏,你只想在當前屏幕中移動

請往下看

 

在屏幕中移動

H            移動到屏幕頂端的行
M            移動到屏幕中央的行
L            移動到屏幕底端的行

nH           移動到屏幕頂端往下的第n行
nL           移動到屏幕頂端往上的第n行

據我猜測這三個字母應該是HIgh、Middle和Low的縮寫,其實挺好記的

多練習幾遍就行了,需要注意的是:這里只是光標的位置變化,和上面兩種不同

tips:你可以用+ -和j k實現同樣的位置變化,只不過要操作多次而已

+ -和j k的區別忘了嗎?往上看看吧

 

在當前行移動

^            移動到當前行的第一個非空格處
n|           移動到當前行的第n列

這里的^與上面的0通常情況下表示的位置是一樣的

而n|,個人感覺還沒有h l方便,慢慢的數出行數還不如直接按着h l 左右移

 

根據文本塊移動

所謂的文本塊也就是句子、段落、小節等

(            移動到當前句子開頭
)            移動到下一個句子開頭
{            移動到當前這一段開頭   
}            移動到下一段開頭
[[           移動到當前這一節的開頭
]]           移動到下一節的開頭

其中,VIM以? . !等符號來標記一個句子

空白行來標記一個段落

用節宏來標記一個節(節宏是什么我還沒搞清楚)

 

根據行號來移動

Ctrl+g            顯示當前行信息
nG                轉至第n行
G                 轉至文本末尾
gg         移至文本開頭

如果你不知道當前是多少行的話就可以用Ctrl+g來查看

如果想轉到第800行,可以用800G

其實z命令也可以做到,並且把光標移動到第一行

tips:``反引號可以返回到使用G之前的位置

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM