Vim编辑器学习笔记
前言
有一個(gè)有趣的說法,說世界上的程序員分三種,一種使用 Emacs,一種使用 vim,剩余的使用其它編輯器——完全無視 Ultraedit / Notepad++ 等編輯器的存在。今天,我懷著朝圣的心態(tài),嘗試了一下 vim 這個(gè)神器,發(fā)現(xiàn)它不像傳說中那么深?yuàn)W神秘和枯燥,也還算較為容易上手。先把學(xué)習(xí)過程記錄在此,和各位同學(xué)共享共勉。
Vim的前世今生
Long long ago(上世紀(jì)70甚至80年代之前),UNIX 用戶都是用廉價(jià)的終端機(jī)通過電話線連到 UNIX 服務(wù)器上的,因?yàn)閭鬏斔俾事?#xff0c;所以當(dāng)時(shí)的編輯器都是行模式編輯——每次只能顯示操作一行。ed 是 UNIX 上最古老最基本的行模式編輯器,ex 是ed 的擴(kuò)展,而 vi 構(gòu)建在 ex 之上,并且引入了大家所熟悉的全屏編輯模式。發(fā)展至今,vi 已成為 Linux 最常用的編輯器,很多 Linux 發(fā)行版都默認(rèn)安裝了 vi。
vi 是 visual interface 的縮寫,vim 是 vi IMproved (增強(qiáng)版的 vi ),但最初,vim 是 vi IMitation(冒牌的 vi )。VIM 是一個(gè)超級(jí)超級(jí)強(qiáng)大的文本編輯器,和 Emacs 一起,被業(yè)界視為宇宙中最強(qiáng)大的兩個(gè)編輯器。
關(guān)于Vim,你必須知道的概念
和 Notepad++ 不同,vi(vim) 是有模式的。有人總結(jié)了很多模式,比如低行模式、normal 模式、編輯模式、選擇模式、鼠標(biāo)模式等。我個(gè)人覺得,倒不如簡(jiǎn)單地分為命令模式和編輯模式,而在命令模式下可以把命令分為很多類型。編輯模式下,使用 vi(vim) 和使用 Notepad++ 幾乎一樣。當(dāng)需要設(shè)置、保存、查找、替換、定位等操作時(shí),可以切換至命令模式,直接輸入命令。任何情況下,按 Esc 鍵退回到命令模式;在命令模式下,按 i 或 a 鍵即可進(jìn)入編輯模式。
除了有模式這個(gè)特色之外,vim還有很多高級(jí)功能,比如寄存器、宏、書簽、映射等。在這里,我們只說一下寄存器。vim 里面的寄存器可以用來保存拷貝的文本、記錄的宏、設(shè)置的書簽等等,一般的編輯器都只有一個(gè)剪切板(MS Office 加入了多個(gè)剪切板),而 vim 和 Emacs 編輯器中的多寄存器可以實(shí)現(xiàn)多個(gè)剪切板的功能。vim 中有九類寄存器:
在windows環(huán)境下體驗(yàn)vim
去 vim.org 下載 windows 平臺(tái)的 gvim 安裝程序(最新版本大概是8.0),安裝后運(yùn)行 gvim,估計(jì)你會(huì)被這樣一個(gè)界面丑哭(要是你不小心少按了一個(gè)字母 g,運(yùn)行了 vim,你可能永遠(yuǎn)都不想再看到它了)。
但是,千萬不要輕易放棄,盡管這是一個(gè)追求顏值的時(shí)代。試試在鍵盤輸入:
:colo murphy看起來是不是舒服一點(diǎn)了呢?除了murphy,還有很多種風(fēng)格可選,輸入colo按空格,再按Tab,可顯示全部風(fēng)格。繼續(xù)操作,只需要幾行命令,就會(huì)讓gvim變成這個(gè)樣子
如果再按裝上常用的插件,比如,可以從代碼中提取類結(jié)構(gòu)的taglist插件,gvim瞬間就成了這個(gè)樣子:
vi(vim)常用命令
- 打開文件、保存、關(guān)閉文件
- 插入文本或行
- 移動(dòng)光標(biāo)
- 刪除、恢復(fù)字符或行
- 搜索
- 跳轉(zhuǎn)至指定行
- 復(fù)制、粘貼
- 替換
配置vim
來吧,就用gvim編輯gvim的配置文件C:\Program Files (x86)\Vim_vimrc(操作系統(tǒng)或許會(huì)保護(hù)這個(gè)文件的讀寫權(quán)限,建議使用系統(tǒng)管理權(quán)限運(yùn)行C:\Program Files (x86)\Vim\vim80\gvim.exe),在后面追加:
"處理文本中顯示亂碼 set encoding=utf-8 set fileencodings=utf-8,chinese,latin-1 if has("win32")set fileencoding=chinese elseset fileencoding=utf-8 endif"處理菜單及右鍵菜單亂碼 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim"處理consle輸出亂碼 language messages zh_CN.utf-8"配色方案:koehler/murphy colo murphy"字體設(shè)置 "set guifont=courier_new:h12"總是顯示標(biāo)簽。0:不顯示;1:多于1個(gè)時(shí)顯示" set showtabline=2"開啟行號(hào) set nu!"setnumber"開啟自動(dòng)縮進(jìn), 7.3以上版本已自動(dòng)開啟" set autoindent"縮進(jìn)寬度為4個(gè)字符" set shiftwidth=4"tab寬度為4個(gè)字符" set tabstop=4"編輯時(shí)將所有tab替換為空格" set et"按一次Backspace就刪除4個(gè)空格" set smarttab"Gvim啟動(dòng)后窗口最大化 autocmd GUIEnter * simalt ~x保存退出,再次打開gvim,你會(huì)發(fā)現(xiàn)世界變得如此美好!
安裝taglist插件
第一步,從 https://sourceforge.net/projects/ctags/files/ctags/5.8/ctags58.zip/download 下載ctags,解壓后將其中的ctags.exe 復(fù)制到gvim.exe 所在的目錄,在我這里是C:\Program Files (x86)\Vim\vim80
第二步,從 http://www.vim.org/scripts/script.php?script_id=273 下載taglist.zip文件,解壓,將doc\taglist.txt 文件復(fù)制到 C:\Program Files\Vim\vimfiles\doc下,
將plugin\taglist.vim 文件復(fù)制到 C:\Program Files\Vim\vimfiles\plugin下。
第三步,以管理員身份運(yùn)行cmd,cd至C:\Program Files\Vim\vim80目錄,運(yùn)行g(shù)vim.exe,命令模式下輸入":helptags C:\Program Files\Vim\vimfiles\doc",就會(huì)在C:\Program Files\Vim\vimfiles\doc下生成tags文件。
第四步,重啟gvim.exe,打開一個(gè)源碼文件,執(zhí)行命令:Tlist,大功告成。
總結(jié)
以上是生活随笔為你收集整理的Vim编辑器学习笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高一学生计算机知识现状分析,关于高中信息
- 下一篇: constraintlayout布局新特