如何在Linux中使用VIM編輯器-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)如何在Linux中使用VIM編輯器,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)公司長期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為吉水企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站制作,吉水網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

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

技巧:快速提高 vim 使用效率的原則與途徑

vim 是所有 Unix/Linux 操作系統(tǒng)默認(rèn)配備的編輯器。因其強(qiáng)大的功能和高效的操作,vim 也成為眾多 Unix/Linux 用戶、管理員必須掌握并熟練使用的編輯工具之一。尤其是在沒有圖形界面的情況下,更是離不開 vim。vim 命令非常多、用法極為靈活,掌握起來有一定的難度。本文作者將結(jié)合自己的使用經(jīng)驗(yàn),分七個(gè)方面著重介紹哪些原則、途徑或命令能快速提高 vim 文件編輯效率,從而達(dá)到事半功倍的效果。

引言 

Vi 最初是由 Bill Joy 在 1976 年編碼實(shí)現(xiàn)的。而 Vim (Vi IMproved) 則是改進(jìn)的 Vi,由 Bram Moolenaar 在 1991 年開發(fā)并發(fā)布。vim 是所有 Unix/Linux 操作系統(tǒng)默認(rèn)配備的編輯器。因其強(qiáng)大的功能和高效的操作,vim 也成為眾多 Unix/Linux 用戶、管理員必須掌握并熟練使用的編輯工具之一。尤其是在沒有圖形界面的情況下,更是離不開 vim。vim 命令非常多、用法極為靈活,掌握起來有一定的難度。詳細(xì)介紹 vim 使用方法的文章有很多,因而本文就不一一述及 vim 的諸多功能及命令。本文作者將結(jié)合自己的使用經(jīng)驗(yàn),分七個(gè)方面著重介紹哪些原則、途徑或命令能快速提高 vim 文件編輯效率,從而達(dá)到事半功倍的效果。本文述及的途徑或命令均只針對系統(tǒng)默認(rèn)配置的 vim。關(guān)于 vim 各種定制后的功能不在本文討論范圍之列。(注:本文中提到的所有命令均在 Red Hat Enterprise Linux Server release 6.1 上測試通過。)

Vim 版本的選擇 

“工欲善其事,必先利其器”。在 vim 版本的選擇上,原則是“能用 Vim 就不要使用 Vi;能用最新版就不要守著舊版本”。Vim 提供的功能和特性要比 Vi 多得多,如語法加亮著色功能等。就使用效果及效率來說,編輯同樣的文件,使用 Vim 更勝一籌;就版本來說,新版的往往會(huì)修復(fù)舊版的一些缺陷及不足。這就要求我們在可能的情況下一定要使用最新版的 Vim。

小技巧:

在 Linux 下,如果以 root 用戶登錄系統(tǒng)的話,通過 vi 命令打開的 Vim 編輯器往往只加載最基本的功能,像語法加亮著色的功能基本上沒有。在 root 用戶下使用 Vim 所有功能的技巧是用 vim 命令打開 Vim 編輯器。

開始前的準(zhǔn)備

這里所說的選項(xiàng)或配置均位于用戶主目錄中的 Vim 啟動(dòng)配置文件 .vimrc。 按照下面的說明在 .vimrc 中設(shè)置選項(xiàng):
(注意:vimrc 文件也用于 Linux 中的全局配置,如 /etc/vimrc 或 /etc/vim/vimrc。本文所說的 .vimrc 均是指位于用戶主目錄中的 .vimrc 文件。)

Linux 系統(tǒng)中:

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

  • 復(fù)制本文最后的 選項(xiàng)列表 粘貼到 .vimrc 文件

  • 保存并關(guān)閉 (:wq)

(此處不建議使用 Vim 編輯 .vimrc 文件,因?yàn)楹芸赡軣o法粘貼成功,可以選擇 gedit 編輯器編輯 .vimrc 文件。)

Windows 系統(tǒng)中:

  • 首先, 安裝 gvim

  • 打開 gvim

  • 單擊 “編輯” -> “啟動(dòng)設(shè)置”,打開 _vimrc 文件

  • 復(fù)制本文最后的 “選項(xiàng)列表” 粘貼到 _vimrc 文件

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

(此處應(yīng)注意不要使用 Windows 自帶的記事本編輯該 _vimrc 文件,否則可能會(huì)因?yàn)樾薪Y(jié)束符不同而導(dǎo)致問題。)

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

  1. 縮進(jìn) & 制表符

  2. 顯示 & 格式化

  3. 搜索

  4. 瀏覽 & 滾動(dòng)

  5. 拼寫

  6. 其他選項(xiàng)

1. 縮進(jìn) & 制表符

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

set autoindent

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

set smartindent

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

(這里的 syn 是指 syntax,可用于設(shè)置文件所用的編程語言,開啟對應(yīng)的語法高亮,以及執(zhí)行自動(dòng)事件 (autocmd)。)

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

set tabstop=4

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

set shiftwidth=4

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

set expandtab

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

2. 顯示 & 格式化

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

set number

如何在Linux中使用VIM編輯器

要在文本行超過一定長度時(shí)自動(dòng)換行:

set textwidth=80

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

set wrapmargin=2

(如果 textwidth 選項(xiàng)不等于零,本選項(xiàng)無效。)

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

set showmatch

如何在Linux中使用VIM編輯器

3. 搜索

高亮搜索內(nèi)容的所有匹配位置:

set hlsearch

如何在Linux中使用VIM編輯器

搜索過程中動(dòng)態(tài)顯示匹配內(nèi)容:

set incsearch

如何在Linux中使用VIM編輯器

搜索時(shí)忽略大小寫:

set ignorecase

在打開 ignorecase 選項(xiàng)的條件下,搜索內(nèi)容包含部分大寫字符時(shí),要使搜索大小寫敏感:

set smartcase

例如,如果文件內(nèi)容是:

test

Test

當(dāng)兩者都ignorecase和smartcase設(shè)置后,搜索“test”,查找并突出顯示這兩種內(nèi)容:
對“Test”的搜索只突出顯示或只找到第二行

4. 瀏覽 & 滾動(dòng)

為獲得更好的視覺體驗(yàn),你可能希望將光標(biāo)放在窗口中間而不是第一行,以下選項(xiàng)使光標(biāo)距窗口上下保留 5 行。

set scrolloff=5

一個(gè)例子:

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

如何在Linux中使用VIM編輯器

提示:如果你沒有設(shè)置選項(xiàng) nowrap,那么設(shè)置 sidescrolloff 將非常有用。

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

set laststatus=2

如何在Linux中使用VIM編輯器

5. 拼寫

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

set spell spelllang=en_us

(中文、日文或其它東亞語字符通常會(huì)在打開拼寫檢查時(shí)被標(biāo)為拼寫錯(cuò)誤,因?yàn)槠磳憴z查不支持這些語種,可以在 spelllang 選項(xiàng)中加入 cjk 來忽略這些錯(cuò)誤標(biāo)注。)

6. 其他選項(xiàng)

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

set nobackup

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

set noswapfile

如果需要在同一個(gè) Vim 窗口中編輯多個(gè)文件并進(jìn)行切換。默認(rèn)情況下,工作目錄是打開的第一個(gè)文件的目錄。而將工作目錄自動(dòng)切換到正在編輯的文件的目錄是非常有用的。要自動(dòng)切換工作目錄:

set autochdir

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

set undofile

錯(cuò)誤信息響鈴,只對錯(cuò)誤信息起作用:

set errorbells

如果你愿意,還可以設(shè)置錯(cuò)誤視覺提示:

set visualbell

驚喜

Vim 提供長格式和短格式命令,兩種格式都可用于設(shè)置或取消選項(xiàng)配置。

autoindent 選項(xiàng)的長格式是:

set autoindent

autoindent 選項(xiàng)的短格式是:

set ai

要在不更改選項(xiàng)當(dāng)前值的情況下查看其當(dāng)前設(shè)置,可以在 Vim 的命令行上使用在末尾加上 ? 的命令:

set autoindent?

在大多數(shù)選項(xiàng)前加上 no 前綴可以取消或關(guān)閉選項(xiàng):

set noautoindent

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

如何在Linux中使用VIM編輯器

使用命令行獲取幫助:

:help autoindent

如何在Linux中使用VIM編輯器

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

這些有用的命令肯定會(huì)增強(qiáng)您的 Vim 使用體驗(yàn)。你會(huì)推薦哪些其他有用的命令?

選項(xiàng)列表
復(fù)制該選項(xiàng)列表粘貼到 .vimrc 文件中:

" Indentation & Tabs
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
set smarttab
" Display & format
set number
set textwidth=80
set wrapmargin=2
set showmatch
" Search
set hlsearch
set incsearch
set ignorecase
set smartcase
" Browse & Scroll
set scrolloff=5
set laststatus=2
" Spell
set spell spelllang=en_us
" Miscellaneous
set nobackup
set noswapfile
set autochdir
set undofile
set visualbell
set errorbells
什么是Linux系統(tǒng)

Linux是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。

看完上述內(nèi)容,你們對如何在Linux中使用VIM編輯器有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)站欄目:如何在Linux中使用VIM編輯器-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://www.bm7419.com/article18/dcdedp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版定制開發(fā)、App開發(fā)、商城網(wǎng)站、做網(wǎng)站、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)