在 vi/vim 中跳轉到指定行有多種高效方法,以下是最常用的操作方式:
一、基礎跳轉:行號 + 命令
-
命令模式下直接輸入行號
按Esc
切換到命令模式后,輸入:行號
并回車。例如,輸入:100
會直接跳轉到第 100 行。 -
使用
G
快捷鍵- 絕對行號跳轉:在命令模式下輸入
行號G
(如100G
),無需按回車即可跳轉。 - 快速定位首尾行:
gg
跳轉到文件首行。G
(大寫)跳轉到文件末行。
- 絕對行號跳轉:在命令模式下輸入
二、打開文件時直接定位
在終端中啟動 vi/vim
時指定行號:
vim 文件名 +行號
# 示例:打開 file.txt 并跳轉到第 65 行
vim file.txt +65
若行號超過文件總行數,光標會自動定位到最后一行。
三、顯示行號輔助定位
-
臨時顯示行號
在命令模式下輸入:set nu
(nu
是number
的縮寫),文件左側會顯示行號。
例如:1 #!/bin/bash 2 echo "Hello World" 3 exit 0
-
關閉行號
輸入:set nonu
即可隱藏行號。 -
永久顯示行號(推薦)
編輯用戶配置文件~/.vimrc
(若不存在則新建),添加一行:set nu
保存后,每次打開
vim
都會顯示行號。
四、進階技巧:相對行號與百分比跳轉
-
相對行號(以當前行為基準)
輸入:set relativenumber
后,行號會顯示為相對于當前行的偏移量。例如,當前行是第 20 行,上方顯示-5
,下方顯示+3
,此時輸入5j
會向下跳 5 行。 -
按文件比例跳轉
輸入:百分比%
可跳轉到文件的指定比例位置。例如::50%
跳轉到文件中間位置。:25%
跳轉到文件四分之一處。
五、錯誤處理與驗證
-
檢查行號是否顯示
若跳轉失敗,先確認是否已執行:set nu
顯示行號。 -
驗證行號范圍
按Ctrl+G
查看當前行號和文件總行數,確保輸入的行號在有效范圍內。例如:"file.txt" 3 lines --100%-- 顯示當前行是第 3 行,總行數 3
六、可視化模式下的跳轉
- 先跳轉再選中文本
- 按
Esc
進入命令模式,輸入:行號
跳轉到目標行。 - 按
V
(大寫)進入行可視化模式,此時可通過j/k
鍵上下選中多行文本。
- 按
七、常見場景示例
-
編輯大文件時快速定位
打開文件后,直接輸入100G
跳轉到第 100 行修改代碼。 -
修復編譯錯誤
若編譯器提示第 45 行有錯誤,可執行:vim code.c +45
直接定位到錯誤行。
-
批量操作前定位
例如,需要刪除第 20 到 30 行:- 輸入
20G
跳轉到第 20 行。 - 輸入
10dd
刪除接下來的 10 行(即第 20-29 行)。
- 輸入
通過以上方法,你可以在 vi/vim
中高效定位到任意行,大幅提升編輯效率。建議優先掌握 :行號
和 行號G
這兩種核心操作,再逐步探索相對行號和百分比跳轉等進階技巧。