国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

你可能不知道的Vim使用小技巧

2024-09-01 13:49:15
字體:
來源:轉載
供稿:網(wǎng)友

一、用拷貝的內容替換

當發(fā)生拼寫錯誤或者想要重命名標識符時,就需要用拷貝的內容來替換當前的名字。比如調用函數(shù)時寫錯了:

void letus_fuckit_with_vim(){ cout<<"great!";}let_fuckat_with_vom();

只需要先復制上面的函數(shù)名,再把光標切換到拼錯的詞首。然后按下viwp,就替換過來了:

void letus_fuckit_with_vim(){ cout<<"great!";}letus_fuckit_with_vim();

v進入可視模式,然后iw來選擇光標所在單詞,最后按下p來粘貼。iw表示inner word,有用的搭配還有yiw, ciw等。

二、拷貝整個文件

當我們剛開始使用Vim時,大神會告訴我們如何拷貝整個文件:ggvGy, NB一點的大神會告訴我們:ggyG。現(xiàn)在告訴大家:

:%y

三、暫時離開插入模式

當我們處在insert模式時,有時會希望在normal模式下執(zhí)行某個命令再馬上回到insert模式。 可能需要先按下<Esc>,執(zhí)行命令,再按下i。

Vim為此提供了方便:

當我們需要暫時離開insert模式并執(zhí)行一個命令時,可以按下<c-o>執(zhí)行完后續(xù)命令后Vim自動回到insert模式。

例如:

:map <F5> :! g++ % && ./a.out <CR>:imap <F5> <c-o><F5>

四、字符查找

Vim光標跳轉雖然有數(shù)十種快捷鍵,但你有沒有發(fā)現(xiàn)當我們碰到長單詞時會很無力,比如我想把下面的description替換為keywords:

tmystr_meta_description

是不是要不斷地敲l(或者敲幾次{num}l),其實可以用單詞查找功能。只需要輸入fd便可以查找當前行的下一個字母d。大寫的F可以反向查找。

五、搜索當前詞

按下*即可搜索當前光標所在的詞(word),再次按下搜索下一個。 按下#搜索上一個。

*只匹配出現(xiàn)的單詞,對于中文沒有斷字。如果查找當前詞的所有字串,可以使用g*。

六、命令模式粘貼

如果希望全局查找替換當前光標所在的單詞,我們可能需要手動地在命令模式下敲出來: %s/foo/bar/g 。 但如果當前光標就在那個單詞上的話,可以在敲完%s/之后將它粘貼到命令里:

<Ctrl+R><Ctrl+W>

這是命令模式的<Ctrl+R>工具,用法還包括粘貼當前文件路徑: <Ctrl+R>% 。 更多用法請查看幫助: :help c_CTRL-R

七、段落跳轉

這個對中文用戶幾乎無用,但我們在編輯代碼文件時會很有用。()可以調到句首句尾,{}可以調到段首段尾。

八、選區(qū)頭尾跳轉

Emmet插件可以進行HTML的標簽匹配,你按下<c-y>d當前標簽首尾之間被選中。你想調到選中區(qū)域的尾部怎么辦? 按下o即可切換收尾,再次按下v就能回到Normal模式。

有木有特別想在匹配的括號間跳轉!按下%!

九、原生自動補全

如果你沒有使用任何Vim插件,Vim的自動補全是默認關閉的。在不引入插件的情況下Vim也可以啟用強大的自動補全,只需要設置:

filetype plugin onset omnifunc=syntaxcomplete#Complete

在任何時候,按下<c-x><c-o>將會觸發(fā)自動補全。

參考: http://vim.wikia.com/wiki/Omni_completion

十、用搜索來選區(qū)

當你需要選擇一大段文字時,不妨先進入visual模式,再進行正則搜索。例如在markdown中,選擇某個##的內容可以這樣操作: 移動光標到要選中的##上,按下v進入visual模式,輸入/^## 匹配下一個二級標題,按下k回到上一行。

十一、拷貝當前文件名

使用:let @"=expand("%")可以拷貝當前文件名,我們可以給這個命令設一個快捷鍵:

nnoremap yf :let @f=expand("%:t")<CR>nnoremap yp :let @p=expand("%:p")<CR>

其中yf拷貝當前文件名到寄存器f,yp拷貝完整文件路徑到寄存器p。然后分別按下"fp和"pp即可粘貼。

十二、大小寫不敏感搜索

可以在模式的任何位置加入/c來進行大小寫不敏感搜索,在任何位置加入/C來進行大小寫敏感搜索。 可以設置set ignorecase來默認進行大小寫不敏感搜索,同時可以設置set smartcase: 當模式包含大寫字母時忽略ignorecase設置。

總結

以上就是這篇文章的全部內容了,希望本文的這些小技巧能夠為大家的學習或者工作帶來一定的幫助,如果有疑問大家可以留言交流。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 康定县| 昂仁县| 建瓯市| 汉沽区| 囊谦县| 太白县| 蓝山县| 三原县| 迁西县| 吉水县| 松滋市| 孝感市| 婺源县| 绥芬河市| 醴陵市| 景德镇市| 五家渠市| 潮安县| 贡嘎县| 隆安县| 华亭县| 烟台市| 渭南市| 海晏县| 阿巴嘎旗| 玉溪市| 陇川县| 西和县| 桓仁| 裕民县| 永仁县| 武宣县| 麻城市| 旅游| 什邡市| 张家界市| 临西县| 桐城市| 中江县| 信丰县| 句容市|