溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

增強Vim編輯器命令有哪些

發(fā)布時間:2021-11-02 15:40:37 來源:億速云 閱讀:169 作者:柒染 欄目:系統(tǒng)運維

增強Vim編輯器命令有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

 20 多個有用的命令可以增強你使用 Vim 的體驗。

注:標題和文章最初稱呼的 vi 編輯器,現(xiàn)已更新為編輯器的正確名稱:Vim。

Vim 作為一款功能強大、選項豐富的編輯器,為許多用戶所熱愛。介紹一些在 Vim 中默認未啟用但實際非常有用的選項。雖然可以在每個 Vim 會話中單獨啟用,但為了創(chuàng)建一個開箱即用的高效編輯環(huán)境,還是建議在 Vim 的配置文件中配置這些命令。

開始前的準備

這里所說的選項或配置均位于用戶主目錄中的 Vim 啟動配置文件 .vimrc。 按照下面的說明在 .vimrc 中設置選項:

(注意:vimrc 文件也用于 Linux 中的全局配置,如 /etc/vimrc/etc/vim/vimrc。本文所說的 .vimrc 均是指位于用戶主目錄中的 .vimrc 文件。)

Linux 系統(tǒng)中:

  • Vim 打開 .vimrc 文件: vim ~/.vimrc

  • 復制本文***的 選項列表 粘貼到 .vimrc 文件

  • 保存并關閉 (:wq)

(LCTT 譯注:此處不建議使用 Vim 編輯 .vimrc 文件,因為很可能無法粘貼成功,可以選擇 gedit 編輯器編輯 .vimrc 文件。)

Windows 系統(tǒng)中:

  • 首先,安裝 gvim

  • 打開 gvim

  • 單擊 “編輯” -> “啟動設置”,打開 _vimrc 文件

  • 復制本文***的 “選項列表” 粘貼到 _vimrc 文件

  • 單擊 “文件” -> “保存”

(LCTT 譯注:此處應注意不要使用 Windows 自帶的記事本編輯該 _vimrc 文件,否則可能會因為行結束符不同而導致問題。)

下面,我們將深入研究提高 Vim 編輯效率的選項。主要分為以下幾類:

  1. 鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術社區(qū)

  2. 縮進 & 制表符

  3. 顯示 & 格式化

  4. 搜索

  5. 瀏覽 & 滾動

  6. 拼寫

  7. 其他選項

1. 縮進 & 制表符

使 Vim 在創(chuàng)建新行的時候使用與上一行同樣的縮進:

set autoindent

創(chuàng)建新行時使用智能縮進,主要用于 C 語言一類的程序。通常,打開 smartindent 時也應該打開 autoindent

set smartindent

注意:Vim 具有語言感知功能,且其默認設置可以基于文件中的編程語言來改變配置以提高效率。有許多默認的配置選項,包括 axs cindent,cinoptions,indentexpr 等,沒有在這里說明。 syn 是一個非常有用的命令,用于設置文件的語法以更改顯示模式。

(LCTT 譯注:這里的 syn 是指 syntax,可用于設置文件所用的編程語言,開啟對應的語法高亮,以及執(zhí)行自動事件 (autocmd)。)

設置文件里的制表符 (TAB) 的寬度(以空格的數(shù)量表示):

set tabstop=4

設置移位操作 >><< 的縮進長度(以空格的數(shù)量表示):

set shiftwidth=4

如果你更喜歡在編輯文件時使用空格而不是制表符,設置以下選項可以使 Vim 在你按下 Tab 鍵時用空格代替制表符。

set expandtab

注意:這可能會導致依賴于制表符的 Python 等編程語言出現(xiàn)問題。這時,你可以根據(jù)文件類型設置該選項(請參考 autocmd)。

2. 顯示 & 格式化

要在每行的前面顯示行號:

set number

增強Vim編輯器命令有哪些

要在文本行超過一定長度時自動換行:

set textwidth=80

要根據(jù)從窗口右側向左數(shù)的列數(shù)來自動換行:

set wrapmargin=2

(LCTT 譯注:如果 textwidth 選項不等于零,本選項無效。)

當光標遍歷文件時經(jīng)過括號時,高亮標識匹配的括號:

set showmatch

增強Vim編輯器命令有哪些

3. 搜索

高亮搜索內容的所有匹配位置:

set hlsearch

增強Vim編輯器命令有哪些

搜索過程中動態(tài)顯示匹配內容:

set incsearch

增強Vim編輯器命令有哪些

搜索時忽略大小寫:

set ignorecase

在打開 ignorecase 選項的條件下,搜索內容包含部分大寫字符時,要使搜索大小寫敏感:

set smartcase

例如,如果文件內容是:

testTest

當打開 ignorecasesmartcase 選項時,搜索 test 時的突出顯示:

test
Test

搜索 Test 時的突出顯示:

test
Test

4. 瀏覽 & 滾動

為獲得更好的視覺體驗,你可能希望將光標放在窗口中間而不是***行,以下選項使光標距窗口上下保留 5 行。

set scrolloff=5

一個例子:

***張圖中 scrolloff=0,第二張圖中 scrolloff=5。

增強Vim編輯器命令有哪些

提示:如果你沒有設置選項 nowrap,那么設置 sidescrolloff 將非常有用。

Vim 窗口底部顯示一個***狀態(tài)欄,可以顯示文件名、行號和列號等內容:

set laststatus=2

增強Vim編輯器命令有哪些

5. 拼寫

Vim 有一個內置的拼寫檢查器,對于文本編輯和編碼非常有用。Vim 可以識別文件類型并僅對代碼中的注釋進行拼寫檢查。使用下面的選項打開英語拼寫檢查:

set spell spelllang=en_us

(LCTT 譯注:中文、日文或其它東亞語字符通常會在打開拼寫檢查時被標為拼寫錯誤,因為拼寫檢查不支持這些語種,可以在 spelllang 選項中加入 cjk 來忽略這些錯誤標注。)

6. 其他選項

禁止創(chuàng)建備份文件:啟用此選項后,Vim 將在覆蓋文件前創(chuàng)建一個備份,文件成功寫入后保留該備份。如果不想保留該備份文件,可以按下面的方式關閉:

set nobackup

禁止創(chuàng)建交換文件:啟用此選項后,Vim 將在編輯該文件時創(chuàng)建一個交換文件。 交換文件用于在崩潰或發(fā)生使用沖突時恢復文件。交換文件是以 . 開頭并以 .swp 結尾的隱藏文件。

set noswapfile

如果需要在同一個 Vim 窗口中編輯多個文件并進行切換。默認情況下,工作目錄是打開的***個文件的目錄。而將工作目錄自動切換到正在編輯的文件的目錄是非常有用的。要自動切換工作目錄:

set autochdir

Vim 自動維護編輯的歷史記錄,允許撤消更改。默認情況下,該歷史記錄僅在文件關閉之前有效。Vim 包含一個增強功能,使得即使在文件關閉后也可以維護撤消歷史記錄,這意味著即使在保存、關閉和重新打開文件后,也可以撤消之前的更改。歷史記錄文件是使用 .un~ 擴展名保存的隱藏文件。

set undofile

錯誤信息響鈴,只對錯誤信息起作用:

set errorbells

如果你愿意,還可以設置錯誤視覺提示:

set visualbell

驚喜

Vim 提供長格式和短格式命令,兩種格式都可用于設置或取消選項配置。

autoindent 選項的長格式是:

set autoindent

autoindent 選項的短格式是:

set ai

要在不更改選項當前值的情況下查看其當前設置,可以在 Vim 的命令行上使用在末尾加上 ? 的命令:

set autoindent?

在大多數(shù)選項前加上 no 前綴可以取消或關閉選項:

set noautoindent

可以為單獨的文件配置選項,而不必修改全局配置文件。需要的話,請打開文件并輸入 :,然后鍵入 set命令。這樣的話,配置僅對當前的文件編輯會話有效。

增強Vim編輯器命令有哪些

使用命令行獲取幫助:

:help autoindent

增強Vim編輯器命令有哪些

注意:此處列出的命令僅對 Linux 上的 Vim 7.4 版本和 Windows 上的 Vim 8.0 版本進行了測試。

這些有用的命令肯定會增強您的 Vim 使用體驗。你會推薦哪些其他有用的命令?

選項列表

復制該選項列表粘貼到 .vimrc 文件中:

" Indentation & Tabsset autoindentset smartindentset tabstop=4set shiftwidth=4set expandtabset smarttab" Display & formatset numberset textwidth=80set wrapmargin=2set showmatch" Searchset hlsearchset incsearchset ignorecaseset smartcase" Browse & Scrollset scrolloff=5set laststatus=2" Spellset spell spelllang=en_us" Miscellaneousset nobackupset noswapfileset autochdirset undofileset visualbellset errorbells

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

vim
AI