基本概念和基礎(chǔ)命令應(yīng)對(duì)簡單的任務(wù)_第1頁
基本概念和基礎(chǔ)命令應(yīng)對(duì)簡單的任務(wù)_第2頁
基本概念和基礎(chǔ)命令應(yīng)對(duì)簡單的任務(wù)_第3頁
基本概念和基礎(chǔ)命令應(yīng)對(duì)簡單的任務(wù)_第4頁
基本概念和基礎(chǔ)命令應(yīng)對(duì)簡單的任務(wù)_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

示,單個(gè)字母不是完整令,必須再有進(jìn)一步的輸入。比如,單個(gè)“g”沒有意義,“gg”表示跳轉(zhuǎn)到文件開頭。(對(duì)于命令后面明確跟一個(gè)動(dòng)作的,如“c。)一個(gè)鍵最多有三排內(nèi)容:最是直接按鍵的結(jié)果,中間是按下t(變大寫),CtrlVim命令速查(版生的內(nèi)容,請(qǐng)復(fù)習(xí)Vim。這張圖里沒有寫出Vim令行命令。你現(xiàn)在應(yīng)該已經(jīng)掌握了以下這些:“:q!”:退出Vim (e”):w”:Ctrl-D和Tab同樣,如果你發(fā)現(xiàn)上面列舉令有你不熟悉的,也請(qǐng)重新打開Vim復(fù) 些屬于Vim的最基本功能,一定要能熟練運(yùn)用才行。Vim接下來我們進(jìn)入本講的正題,講述Vim的四種主要模式、鍵描述的體例和Vim需要的基VimVim鍵入的字符并不會(huì)插入到所編輯的文件之中。Vim的模式(mode,可以簡單地理解正常(l)模式(也稱為普通模式),缺省的編輯模式;如果不加特殊說明,一般提到令都直接在正常模式下輸入;在任何其他模式中,都可以通過鍵盤上的sc回到正常模式。插入(insert)i(insert)或可視(visual)模式,用于選定文本塊;中已經(jīng)提到可以用鍵v(小寫)來按字符選定,Vim里也提供其他不同的選定方法,包括按行和按列塊。命令行(d-e)模式,用于執(zhí)行較長、較復(fù)雜令;在正常模式下鍵入冒號(hào)(:)該模式;使用斜杠(/)和問號(hào)(?)始索算命行式命令行模式下令要輸入回車鍵(tr)才算完成。Vimst)模式,與普通的Windows編輯器行為較為接近,選擇內(nèi)容后再輸入任何內(nèi)容,將會(huì)替換選擇的內(nèi)容。在以可視模式和選擇模式之一選定文本塊之后,可以使用Ctr-G切換到另一模式。這個(gè)模式主要是為了模擬Windows為,并不是mm關(guān)于Vim的模式,我們重點(diǎn)掌握正常模式就可以了,剛剛也,Vim里的大部分操作會(huì)在正常模式下完成。如果你做編輯工作時(shí)有超過幾秒的停頓,就應(yīng)當(dāng)考慮按下Esc鍵,回Vim清楚了Vim模式之后,我們來對(duì)Vim里的按鍵作一下清晰的體例描述,畢竟,Vim里的從現(xiàn)在開始,我會(huì)使用m里的標(biāo)準(zhǔn)鍵描述方式來講解。根據(jù)m<Esc>表示Esc<Tab>表示Tab<PageUp>PageUp<PageDown>PageDown<Home>Home<End>End<F1><F12表示功能鍵1到12;顯示為“F1<SShift?”(<S-1>;和<MAlt?”(Meta<DCommand?”(Mac鍵盤現(xiàn)在回到前面的模式部分,我們提到的Esc、Enter、v、V和Ctrl-V,按我們現(xiàn)在的描述慣例,以后就會(huì)寫成<Esc>、<CR>、v、V和<C-V>。這也是以后在Vim里對(duì)鍵進(jìn)行重這里我要強(qiáng)調(diào)一下,對(duì)“們寫“C>仍表示符,而非回車鍵。特別是,如果我們描述令行首是”,表示這是一個(gè)輸入:開始的m(以回車鍵結(jié)束);如果行首是“/”或“?”,表示這是一個(gè)輸入或開始的搜索命令(以回車鍵結(jié)束);如果行首是“$”,表示這是一個(gè)在s命令行上輸入令(以回車鍵結(jié)束),“$”(和后面也就是說,下面令是在Vim里輸入“:setft?<CR>”(用來顯示當(dāng)前編輯文件的文代代1:setVim下面令則是在 里輸入“whichvim<CR>”(用來檢查vim命令的位置代代$which 此外,當(dāng)我用“:help”描述幫助命令時(shí),你不僅可以在Vim里輸入這個(gè)命令來得VimVim了解了Vim模式和鍵描述,我們對(duì)Vim的認(rèn)識(shí)又多了一些,第一步的學(xué)習(xí)成就達(dá)成。要想更好地使用Vim,下一個(gè)關(guān)鍵點(diǎn)就是配置了,接下來我就帶你看看Vim配置都有哪些需要作為一個(gè)可以越用越順手的應(yīng)用程序,mm越來越多,你的Vim置文件必然會(huì)越變?cè)綇?fù)雜。我們今天就先來做一些初步的討論,看看能實(shí)際使用的一個(gè)最m配置文件是什么樣子。我們上節(jié)課已經(jīng)討論過,根據(jù)Unix下的慣例,Vim的配置文件放在用戶的主 名通常是.vimrc;而它在Windows下名字是_vimrc。我們前面給出最基本的配置文件是代代1223setenc=utf-如果你熟悉 UTF-8(非所有平臺(tái)缺省,但為編輯多語言文件所必需)設(shè)置Vim不需要和vi兼容(僅為萬一起見,目前大部分情況下這是缺省情況)Vim(這會(huì)打開一些有用的選項(xiàng),如語法加亮、搜索加亮、命令歷史、對(duì)于現(xiàn)代Unix系統(tǒng)上的Vim8,實(shí)際上只需要最后一句就足夠了。對(duì)于現(xiàn)代Windows系統(tǒng)上的Vim8,中間的這句setpatible也可以刪除。如果你在較老的Vim版本加“.un~”的。這是因?yàn)樵谑纠渲美铮琕im代代setset前一個(gè)選項(xiàng)使得我們每次編輯會(huì)保留上一次的備份文件,后一個(gè)選項(xiàng)使得m一個(gè)文件時(shí),仍然能夠撤銷之前的編輯(undo)ue)了。通常是,生備件,留跨撤銷的能因?yàn)槌蜂N,備份其實(shí)也就沒有必要了。同時(shí),把撤銷文件放在用戶個(gè)人的特定 下,既保證了安全,又免去了其他 下出現(xiàn)不必要文件的麻煩。要達(dá)到這個(gè)目的,我在Linux/macOS代代setset在Windows代代setset 。我們可以用下面令來讓Vim在啟動(dòng)時(shí)自動(dòng)創(chuàng) ifcallmkdir(&undodir,'p',如果我告訴你,&uoirnor信你也一定能看出來了吧?我們暫時(shí)就不做進(jìn)一步分析了。如果你好奇的話,可以提前看一下下面各項(xiàng)的m 這個(gè)跨會(huì)話撤銷的能力,我還真不知道其他哪個(gè)編輯器也有。更妙的是,Vim我不知道你會(huì)不會(huì)像某些資深m鍵盤上的本位排(homew)打字當(dāng)然會(huì)更快,但一個(gè)程序員看代碼的時(shí)間比寫代碼的時(shí)間要多得多,而在非線性的跳轉(zhuǎn)任務(wù)上,鼠標(biāo)比鍵盤更加快,也更加有效。在Vim的終端使用場景下,鼠標(biāo)的選擇有一定的歧義:你希望是使用Vim的可視模式選擇內(nèi)容,并且只能在Vim里使用呢,還是產(chǎn)生Vim外的操作系統(tǒng)的文本選擇,用于跟其xtermVim在按下Shift時(shí),鼠標(biāo)選擇產(chǎn)生操作系統(tǒng)的文本選擇。對(duì)于不兼容xterm、不支持對(duì)Shift鍵做這樣特殊處理的終端,我們一般會(huì)采用一種“繞過”方式,讓Vim在某種情況下暫時(shí)不接管鼠標(biāo)。通常的選擇是在命令行模式下不使雖然的m缺省配文件(示例配置文件會(huì)包含缺省配置),可以自動(dòng)設(shè)置合適的鼠標(biāo)選項(xiàng)了,不過為照顧我們課程的三種不同平臺(tái),我們還是手工設(shè)置代代ififhas('gui_running')||(&term=~'xterm'&&setset上面代碼說的是,如果Vim有鼠標(biāo)支持的話,那在以下任一條件滿足時(shí):xtermMac(Macxterm,但行為并不完啟用完全的鼠標(biāo)支持(mouse=a)。特別是,此時(shí)鼠標(biāo)拖拽就會(huì)在Vim里使用可視模式選擇內(nèi)容(只能在Vim里使用)。而當(dāng)用戶按下Shift鍵時(shí),窗口系統(tǒng)接管鼠標(biāo)事件,用戶可以使用鼠標(biāo)Vim窗口里的內(nèi)容供其他應(yīng)用程序使用。否則(非圖形界面的的終端,且終端類型不是xterm),就只在正常模式(n)(v)、插入模式(i)中使用鼠標(biāo)。這意味著,當(dāng)用戶按下鍵進(jìn)入命令行模式時(shí),Vim將不對(duì)鼠標(biāo)進(jìn)行響應(yīng),這時(shí),用戶就可以使用鼠標(biāo)Vim窗口里的內(nèi)容到其他應(yīng)用程序里非xterm的鼠標(biāo)支持在macOS和Windows下都有效。但在Windows下需要注意的一點(diǎn)是,如果使用非圖形界面的Vim的話,應(yīng)當(dāng)在命令提示符(CommandPrompt)的屬性里關(guān)閉“快速編輯模式”(QuickEditMode),否則Vim在運(yùn)行時(shí)將無法對(duì)鼠標(biāo)鑒于命令提示符的行為有很多怪異和不一致之處,強(qiáng)烈建議你在Windows下,要么使用圖形界面的Vim,要么使用Cygwin/MSYS2里、運(yùn)行在mintty下的Vim。UTF-8內(nèi)容可以跳過。對(duì)于大部分在Unix下工作的人員,應(yīng)該是這樣的情況。而如果你在WindowsGB2312、GBK、GB18030Unicode整個(gè)世界基本上在向UTF-8微軟由于歷史原因,UTF-16;UTF-16可以跟UTF-8無損轉(zhuǎn)換GB2312、GBK、GB18030是一系列向后兼容的中文標(biāo)準(zhǔn)編碼方式,GB2312編碼的文件是合法的GBK文件,GBK編碼的文件是合法的GB18030文件。但除了GB18030,都不能做到跟UTF-8無損轉(zhuǎn)換;目前非UTF-8的簡體中文文本基本上都用GBK/GB18030編碼(繁體中文文本則以Big5居多)。鑒于GB18030是,其他兩種編碼也和GB18030兼容,我們就重點(diǎn)講如何在Vim中支持GB18030了。舉一個(gè)具體的例子,“你好??UTF-810(我按字e4bda0e5a5bd如果使用GB18030編碼(GB2312/GBK)的話,會(huì)編碼成8c4e3bac3GBK外的Unicode(非中文情況會(huì)劣化GBKUnicodeUnicode(UTF-8一旦出現(xiàn)文件中有單字節(jié)發(fā)生損毀,后續(xù)的所有中文字符都可能發(fā)生紊亂(UTF-8因此,GB18030在的軟件中不會(huì)作為內(nèi)碼來使用,只會(huì)是/寫入文件時(shí)使用的轉(zhuǎn)換編碼。我們要讓Vim支持GB18030也同樣是如此。由于UTF-8編碼是有明顯規(guī)律的,并非任意文件都能成功地當(dāng)成UTF-8來,我們一般使用的順序是:其次,檢查文件能不能當(dāng)作UTF-8來;如果可以,就當(dāng)作UTF-8來解釋否則,嘗試用GB18030來;如果能成功,就當(dāng)作GB18030來轉(zhuǎn)換文件內(nèi)容最后,如果上面的都不成功,就按Latin1字符集來;由于這是單字節(jié)的編碼,事實(shí)上,Vim代代1setfileencodings=ucs-bom,utf-Vim非必需項(xiàng)。不過,對(duì)于高分辨率屏幕的Windows,這是一個(gè)必需項(xiàng):Vim在Windows下缺省使用的不是TrueType字體,不進(jìn)行配置的話,字體會(huì)小得沒法看。高分辨率屏下的Windows圖形界面在Windows的缺省字體里,一般而言,Consolas和CourierNew還比較合適。以CourierNew_vimrc(Windows代代ifset設(shè)置了10磅Consolas字體的字體名稱如何寫是件平臺(tái)相關(guān)的事(可參見幫助文檔“:helpgui-font”)果你不確定怎么寫出你需要的字體配置,或者你怎么寫都寫不對(duì)的話,可以先使用圖形界面的菜單來選擇(>Vmdit>nt>nts”),:tgift?”來查看。注意,VimUbuntu字體設(shè)成10磅的DejaVuSansMono,就需要寫:代代12"Linux和Windows不同,不能用'_'setguifont=DejaVu\Sans\Mono\此外,寬字符字體(對(duì)我們來講,就是中文字體了)Ubuntu下,可以用:代代1setguifontwide=Noto\Sans\Mono\CJK\SC\注意,在不同的中英文字體搭配時(shí),并不需要字號(hào)相同。事實(shí)上,在Windows和Ubuntu下的gvimVim今天我給出了一張鍵盤圖,帶你復(fù)習(xí)了Vim的內(nèi)容,這里我要再強(qiáng)調(diào)一遍,這部分的內(nèi)容如果你還有不熟悉的,一定要再去學(xué)下Vim,這段時(shí)間要多花點(diǎn)時(shí)掌握了Vim里的基礎(chǔ)信息還遠(yuǎn)遠(yuǎn)不夠,我們還得了解Vim的四種主要模式,你只要最后我?guī)銓W(xué)習(xí)了Vim的幾個(gè)基本配置選項(xiàng),包括對(duì)撤銷、鼠標(biāo)、中文和字體的支持,來滿足最基本的編輯需要。最終的Vim配置文件可以在 關(guān)于這個(gè)配置文件,我這里做個(gè)備注說明:主(master)分支可以用在類Unix平臺(tái)上,windows分支則用在Windows上。適用于今天這一講的內(nèi)容是l2-unix和l2-windowsgitcheckoutl2-unixgitcheckoutl2-windows來得好了,掌握了今天的內(nèi)容,你就可以用Vim退出Unix)Vim:help”命令(<F1功能鍵),嘗試查看命10人覺得很贊|提建議 售賣。頁面已增加防盜追蹤,將依 上一 01|各平臺(tái)下的Vim安裝方法:上路前準(zhǔn)備好你的寶下一 setfileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936settermencoding=utf-8…termencoding要跟你的終端編碼匹配。WindowsUTF-8Windows2 1111雖然我設(shè)置了一個(gè)快捷鍵,在setmouse=a和n間切換。111KeyCastr$echo$VIMRUNTIME,$>whichvimsourceVimVimBashMacVimprintenvPATH/usr/local/bin/usr/binvim啟動(dòng)的就是MacVim的版本。作者回復(fù):在8、132macOS上setmouse=a和setmouse=nvi在NORMAL、VISUAL、INSERT模式操作都是一致的,鼠標(biāo)選中內(nèi)容會(huì)自動(dòng)切換VISUAL模式,單擊會(huì)自動(dòng)切回原來模式,并會(huì)改COMMAND-LINEsetmouse=a反應(yīng),setmouse=nvi可以觸發(fā)窗口系統(tǒng)接管鼠標(biāo)。.vimrc:source:2:nosuchfileordirector

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論