vscode 快速调到定义处_vim技巧:在程序代码中快速跳转,在文件内跳转到变量定义处...
本篇文章介紹 vim 的一些使用技巧:
- 在程序代碼中快速跳轉(zhuǎn)
- 在文件內(nèi)跳轉(zhuǎn)到變量定義處
在程序代碼中快速跳轉(zhuǎn)
在 vim 中查看代碼文件時(shí),可以使用下面命令在程序代碼中快速跳轉(zhuǎn),提高效率。
- %
跳轉(zhuǎn)到光標(biāo)所在括號(hào)的另一個(gè)配對(duì)括號(hào)上,適用于小括號(hào)()、大括號(hào){}、方括號(hào)[]。
例如當(dāng)前光標(biāo)在左大括號(hào) { 上,輸入 % 命令,光標(biāo)會(huì)跳轉(zhuǎn)到配對(duì)的右大括號(hào) } 上。
這個(gè)命令也適用于C語(yǔ)言的條件編譯宏,可以在配對(duì)的 #if、#ifdef、#else、#elif、 #endif 之間快速跳轉(zhuǎn)光標(biāo)。 - [m
跳轉(zhuǎn)到當(dāng)前光標(biāo)往上的最近一個(gè)函數(shù)開頭,停在左大括號(hào)上。
如果光標(biāo)在函數(shù)內(nèi),就是跳轉(zhuǎn)到當(dāng)前函數(shù)的開頭左大括號(hào)。
如果光標(biāo)在函數(shù)外,則跳轉(zhuǎn)到上面最近一個(gè)函數(shù)的開頭左大括號(hào)。 - [M
跳轉(zhuǎn)到當(dāng)前光標(biāo)往上的最近一個(gè)函數(shù)結(jié)尾,停在右大括號(hào)上。
無(wú)論當(dāng)前光標(biāo)在函數(shù)內(nèi)、還是函數(shù)外,都是跳轉(zhuǎn)到上面最近一個(gè)函數(shù)的末尾右大括號(hào)。 - ]m
跳轉(zhuǎn)到當(dāng)前光標(biāo)往下的最近一個(gè)函數(shù)開頭,停在左大括號(hào)上。
無(wú)論當(dāng)前光標(biāo)在函數(shù)內(nèi)、還是函數(shù)外,都是跳轉(zhuǎn)到下面最近一個(gè)函數(shù)的開頭左大括號(hào)。 - ]M
跳轉(zhuǎn)到當(dāng)前光標(biāo)往下的最近一個(gè)函數(shù)結(jié)尾,停在右大括號(hào)上。
如果光標(biāo)在函數(shù)內(nèi),就是跳轉(zhuǎn)到當(dāng)前函數(shù)的末尾右大括號(hào)。
如果光標(biāo)在函數(shù)外,則跳轉(zhuǎn)到下面最近一個(gè)函數(shù)的末尾右大括號(hào)。 - [{
跳轉(zhuǎn)到當(dāng)前光標(biāo)往上最近一個(gè)沒有匹配的左大括號(hào),停在左大括號(hào)上。
例如光標(biāo)在 if 語(yǔ)句內(nèi),則跳轉(zhuǎn)到 if 語(yǔ)句開頭左大括號(hào)。 - ]}
跳轉(zhuǎn)到當(dāng)前光標(biāo)往下最近一個(gè)沒有匹配的右大括號(hào),停在右大括號(hào)上。
例如光標(biāo)在 if 語(yǔ)句內(nèi),則跳轉(zhuǎn)到 if 語(yǔ)句末尾右大括號(hào)。 - [(
跳轉(zhuǎn)到當(dāng)前光標(biāo)前面最近一個(gè)沒有匹配的左小括號(hào),停在左小括號(hào)上。
例如光標(biāo)在一個(gè)小括號(hào) () 內(nèi),則跳轉(zhuǎn)到左邊最近的左小括號(hào)。 - ]) 跳轉(zhuǎn)到當(dāng)前光標(biāo)后面最近一個(gè)沒有匹配的右小括號(hào),停在右小括號(hào)上。
例如光標(biāo)在一個(gè)小括號(hào) () 內(nèi),則跳轉(zhuǎn)到右邊最近的右小括號(hào)。
這些命令都可以在前面加上數(shù)字,表示跳轉(zhuǎn)級(jí)數(shù). 例如:
- 3[m
將跳轉(zhuǎn)到當(dāng)前光標(biāo)往上的第三個(gè)函數(shù)開始處,停在左大括號(hào)上。
如果光標(biāo)在函數(shù)內(nèi),則當(dāng)前函數(shù)是第一個(gè)函數(shù),會(huì)再往上跳兩個(gè)函數(shù)。 - 3[{
將跳轉(zhuǎn)到當(dāng)前光標(biāo)往上的第三級(jí)大括號(hào)開始處,停在左大括號(hào)上。
可以使用 :help [( 命令查看 [( 的說明。% 的說明在 [( 的上面。
可以使用 :help [m 命令查看 [m 的說明。
其他命令的說明可以類似查看。
在文件內(nèi)跳轉(zhuǎn)到變量定義處
在當(dāng)前文件內(nèi),可以使用下面命令來(lái)快速跳轉(zhuǎn)到變量定義處。
- gd
在當(dāng)前函數(shù)內(nèi)查找當(dāng)前光標(biāo)下的單詞,如果找到,就跳轉(zhuǎn)到該單詞在函數(shù)內(nèi)第一次出現(xiàn)的地方。
對(duì)局部變量來(lái)說,也就是跳轉(zhuǎn)到變量定義處。
如果光標(biāo)下的單詞對(duì)應(yīng)全局變量,這個(gè)命令不會(huì)跳轉(zhuǎn)到全局變量定義處,而是會(huì)跳轉(zhuǎn)到函數(shù)內(nèi)第一次用到該變量的地方。
這個(gè)命令本身沒有進(jìn)行語(yǔ)法解析,只是簡(jiǎn)單的執(zhí)行字符串搜索并跳轉(zhuǎn)。在實(shí)際使用時(shí)可用來(lái)查找任意單詞,不限于查找變量。 - gD
在當(dāng)前文件內(nèi)查找當(dāng)前光標(biāo)下的單詞,如果找到,就跳轉(zhuǎn)到該單詞在文件內(nèi)第一次出現(xiàn)的地方。
對(duì)全局變量來(lái)說,也就是跳轉(zhuǎn)到全局變量定義處。
對(duì)局部變量來(lái)說,也能跳轉(zhuǎn)到局部變量定義處。
如果變量是在文件外定義,就只能跳轉(zhuǎn)到當(dāng)前文件內(nèi)第一次用到該變量的地方。
實(shí)際測(cè)試,gd 命令只能在函數(shù)內(nèi)搜索,不會(huì)跳轉(zhuǎn)到全局變量定義處。gD 命令是在整個(gè)文件內(nèi)搜索,可以跳轉(zhuǎn)到全局變量定義處,也能跳轉(zhuǎn)到函數(shù)內(nèi)的局部變量定義處。
如果不確認(rèn)要搜索的單詞是全局變量,還是局部變量,統(tǒng)一用 gD 命令即可。如果變量是在當(dāng)前文件內(nèi)定義,gD 命令一定能跳轉(zhuǎn)到文件內(nèi)的變量定義處,比 gd 命令要方便。
可以用 :help gd 和 :help gD 命令來(lái)查看幫助說明,這兩個(gè)命令的幫助說明是相鄰的。
總結(jié)
以上是生活随笔為你收集整理的vscode 快速调到定义处_vim技巧:在程序代码中快速跳转,在文件内跳转到变量定义处...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天津一电器厂,散热风扇碰到了尖峰电压瞬间
- 下一篇: 80港币的Ps5版升级确实值得