Vim 編輯器的一些實用小技巧
?vim 編輯器就像海洋一樣,美好和快樂,如果你深入其中,你就會情不自禁地愛上它,并且再也不愿走出來。
vim 編輯器之所以經(jīng)久不衰,就是因為它有著一股魔力,無論你使用它多少年了,你總能在某一天看到其他人對它更優(yōu)雅的操作,它的上限很高,高到可以讓你使用它快速地完成任何你想編輯的代碼。
接下來,我將分享一些可能被你忽略但是卻非常重要的東西 vim 的技巧經(jīng)驗。
help everything
在 linux 系統(tǒng)中,如果你遇到問題,第一時間不是去問其他人,也不是去搜索引擎找答案,而是使用man命令尋求幫助,它會給我們最大程度的幫助,大多數(shù)情況下都能解決我們的問題。
同樣在 vim 中,我們遇到問題的時候也可以使用 help 尋求幫助,而 vim 的幫助文檔很詳細,足可以幫助我們解決絕大部分問題。
save as root
很多時候我們編輯一些文檔以后,會發(fā)現(xiàn)權(quán)限不夠,需要我們使用 root 權(quán)限進行編輯,這個時候如果退出,然后重新使用 sudo 編輯會非常得不償失,那么我們可以在vim中直接調(diào)用 sudo 命令來使用 root 用戶進行保存。
:w !sudo tee %
spaces and tabs convert
有些時候,我們需要對代碼中的空格和tab進行相應(yīng)的轉(zhuǎn)換,在vim中,這種轉(zhuǎn)換很方便,通過幾個命令,就可以完成對指定文本的轉(zhuǎn)換,通過選區(qū)的控制,我們可以指定轉(zhuǎn)換的位置。
:set noexpandtab
:retab!
:set expandtab
:set tabstop=4
:set shiftwidth=4
:retab
indent lines
在vim中我們對于縮進可以非常簡單,直接在正常模式下輸入=就可以完成對文本的縮進,如果對所有行進行縮進,那么一個簡單的命令gg=G就可以完成。
auto smart indent
當我們想要輸入新的一行的時候,很多時候我們需要使用tab或者空格進行定位,但是其實有更簡潔的方法,那就是S,通過輸入S,光標就會自動定位到縮進的位置,然后進入到插入模式,我們可以直接輸入代碼即可。
show spell mistakes
在vim中輸入英文的時候,我們很有可能輸入了一些錯誤的單詞,這個時候我們可以讓vim開啟拼寫檢查功能,它就會智能地顯示出我們拼寫錯誤的單詞。
:set spell
insert mode quick delete
我們知道在正常模式下,我們可以通過d和x進行快速地刪除文本,那么在插入模式,就是編輯文件的時候,我們有辦法快速刪除單詞嗎?答案是有的,我們可以通過下面的快捷鍵進行快速刪除。
ctrl+w
ctrl+h
ctrl+u
ctrl+k
open particular line
當我們使用一些軟件查詢到某個關(guān)鍵詞出現(xiàn)在某行的時候,我們希望我們vim可以直接定位到這一行,那么我們可以使用vim + line的方式打開文件,就可以直接跳轉(zhuǎn)到指定行號,當然這個其實并沒有太多的意義,因為進入文件之后,在通過行號定位也不算麻煩,可能唯一的好處應(yīng)該就是對于一個大文件的話,可以省略渲染,直接找到位置。