??Vim是一個(gè)高度可配置的文本編輯器,用于創(chuàng)建和更改任何類型的文本非常高效。與大多數(shù)UNIX系統(tǒng)和Apple OS X一起,它被包含為“vi”。Vim是穩(wěn)定的,并且不斷發(fā)展,變得更好。其特點(diǎn)是:持久的多級(jí)撤消樹;廣泛的插件系統(tǒng);支持?jǐn)?shù)百種編程語言和文件格式;強(qiáng)大的搜索和替換;與許多工具集成。
?Vim是Vi IMproved,是編輯器Vi的一個(gè)加強(qiáng)版,一個(gè)極其強(qiáng)大并符合IT工程師(程序員、運(yùn)維)習(xí)慣的編輯器。如果你是一名職業(yè)的SE,那么一定在尋找一款出色的能夠自由定制、滿足靈活編輯功能的編輯器。那么答案,就是vim或者Emacs。vim最大特色是完全使用鍵盤命令進(jìn)行編輯,脫離了鼠標(biāo)操作雖然使得入門變得困難,但上手之后鍵盤的各種巧妙組合操作卻能帶來極為大幅的效率提升。
?在Linux系統(tǒng)中,RHEL和CentOS的配置文件是/etc/vimrc,Debian和Ubuntu的配置文件是/usr/share/vim/vimrc。
?那么vimRC中的RC是什么意思?
?一般在運(yùn)行某個(gè)軟件、環(huán)境或工具之初,要初始執(zhí)行的一些命令,稱為Run Commands,即RC。根據(jù)Wikipedia.org的記載,RC縮寫的用法源自MIT的相容分時(shí)操作系統(tǒng)(Compatible Time-Sharing System,CTSS)[參考1],有興趣的話請(qǐng)自行了解。
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、咸寧網(wǎng)絡(luò)推廣、成都微信小程序、咸寧網(wǎng)絡(luò)營(yíng)銷、咸寧企業(yè)策劃、咸寧品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供咸寧建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:chinadenli.net
基本上vi/vim可以分為三種狀態(tài),分別是普通模式、插入模式和命令模式,各模式的功能區(qū)分如下:
1、普通模式
控制屏幕光標(biāo)的移動(dòng),字符、字或行的刪除,移動(dòng)復(fù)制某區(qū)段。
2、插入模式
只有在插入下,才可以做文字輸入、刪除,按「ESC」鍵可回到普通模式。
可以按i、I、a、A、o、O、r、R即可。其中i和I表示插入(Insert),r和R表示替換(replace)。
3、命令模式
將文件保存或退出vim,也可以設(shè)置編輯環(huán)境,如尋找字符串、列出行號(hào)等……
可以按“:”、“/”、“?”。其中“:”表示輸入vim命令,“/”表示后面輸入要向下搜索的字符串,“?”表示后面輸入要向上搜索字符串。
其實(shí),可以把普通模式理解為常態(tài),進(jìn)入其它任何一種模式,需要某種特殊方式,而從其它特殊模式回到普通模式,就按「ESC」鍵即可。
Vim的三種基本模式如下圖:
為了使以下參數(shù)永久有效,那你可以把以下參數(shù)寫進(jìn)/etc/vimrc配置文件里,當(dāng)然,有一些參數(shù)已經(jīng)存在配置文件中了。?
1、顏色設(shè)置
syntax on???開啟代碼高亮
syntax off???關(guān)閉代碼高亮
syntax enable?開啟代碼高亮
?
2、搜索設(shè)置
set hlsearch???--開啟搜索高亮
set nohlsearch??--關(guān)閉搜索高亮
set incsearch ?? --輸入搜索字符串的同時(shí)進(jìn)行搜索
set ignorecase??--搜索時(shí)忽略大小寫
?
3、用戶界面
set ruler ????? --開啟光標(biāo)位置提示
set number??? ?--顯示行號(hào)
set nonu????? --不顯示行號(hào)
set cmdheight=1??--命令部分高度為1
?
4、編輯輔助配置
set autoindent?? ??--自動(dòng)縮進(jìn)
set noautoindent???--不自動(dòng)縮進(jìn)
set smartindent?? ? --智能縮進(jìn)
set autoread ? ? ??--當(dāng)文件在外部被改變時(shí),vim自動(dòng)更新載入
set showmatch? ? ? --顯示匹配的括號(hào)
1、普通模式 → 插入模式
i?? 小寫字母i, ? 在光標(biāo)位置插入
a??小寫字母a, ?在光標(biāo)的下一個(gè)位置插入
I ??大寫字母I, ? 在光標(biāo)所在行的第一個(gè)非空格處插入
A??大寫字母A,?在光標(biāo)所在行的最后一個(gè)字符處插入
o??小寫字母o,? 在光標(biāo)所在行的下一行處插入新行
O??大寫字母O,?在光標(biāo)所在行的上一行處插入新航
r ??小寫字母r, ? 替換光標(biāo)所在處的字符一次
R??大寫字母R,?持續(xù)替換光標(biāo)所在處的字符,直到按下「ESC」鍵
?
2、普通模式 → 命令模式
:w?? 保存文件
:w!??強(qiáng)制保存文件(前提是用戶有修改文件訪問權(quán)限的權(quán)限)
:q?? 退出緩沖區(qū)
:q!??強(qiáng)制退出緩沖區(qū)而不保存
:wq ? 保存文件并退出緩沖區(qū)
:wq!? 強(qiáng)制保存文件并退出緩沖區(qū)(前提是用戶有修改文件訪問權(quán)限的權(quán)限)
:w [filename]??另存為名為filename文件
:r [filename]?? 將另外一個(gè)文件讀入到正在編輯的文件
:n1,n2 w [filename]??將n1行到n2行的數(shù)據(jù)另存為名為filename文件
:x ?? ? 保存并退出
ZZ??? 保存并退出
ZQ???不保存退出
?
3、插入模式 → 視圖模式
按下「ESC」鍵
4、命令模式 → 視圖模式
按下「ESC」鍵
1、光標(biāo)字符操作
h??向左箭頭鍵(←) 光標(biāo)向左移動(dòng)一個(gè)字符
l?? 向右箭頭鍵(→) 光標(biāo)向右移動(dòng)一個(gè)字符
j?? 向下箭頭鍵(↓) 光標(biāo)向下移動(dòng)一個(gè)字符
k??向上箭頭鍵(↑) 光標(biāo)向上移動(dòng)一個(gè)字符
$??光標(biāo)移動(dòng)到行尾(End),注意要按「Shift」鍵
0??光標(biāo)移動(dòng)到行首(Home)
^??光標(biāo)移動(dòng)到行首第一個(gè)非空白字符(Home),注意要按「Shift」鍵
?
2、光標(biāo)詞操作
w?? 光標(biāo)移動(dòng)到后一詞的詞首
W??光標(biāo)移動(dòng)到后一詞的詞首且忽略標(biāo)點(diǎn)符號(hào)
e?? 光標(biāo)移動(dòng)到后一詞的詞尾
E?? 光標(biāo)移動(dòng)到后一詞的詞尾且忽略標(biāo)點(diǎn)符號(hào)
b?? 光標(biāo)移動(dòng)到前一詞的詞首
B?? 光標(biāo)移動(dòng)到前一詞的詞首且忽略標(biāo)點(diǎn)符號(hào)
?
3、光標(biāo)行操作
G?? ? 光標(biāo)移動(dòng)到文件的最后一行的第一個(gè)非空白字符
nG/ngg?光標(biāo)移動(dòng)到文件的第n行,相當(dāng)于”:n”
gg??? 光標(biāo)移動(dòng)到文件的第1行的第一個(gè)非空白字符
?
4、光標(biāo)頁操作
Ctrl + f?? 向下翻頁(Pagedown)
Ctrl + b??向上翻頁(Pageup)
Ctrl + d??向下翻半頁
Ctrl + u??向上翻半頁
「H」??光標(biāo)移動(dòng)到目前顯示頁的第一行
「M」??光標(biāo)移動(dòng)到目前顯示頁的中間行
「L」?? 光標(biāo)移動(dòng)到目前顯示頁的最后一行
?
5、光標(biāo)自由操作
Ctrl + o??回到光標(biāo)的上一位置
1、刪除操作(delete)
dd???刪除光標(biāo)所在行
ndd? ? 刪除從光標(biāo)所在行開始,向下的n行
d1G?? 刪除從光標(biāo)所在行開始,到第一行的所有行
dG???刪除從光標(biāo)所在行開始,到最后一行的所有行
d$??? 刪除從光標(biāo)所在位置,到行尾的所有字符
d0??? 刪除從光標(biāo)所在位置,到行首的所有字符
x????每按一次,刪除光標(biāo)所在位置的“后面”一個(gè)字符。
nx?? ? 刪除光標(biāo)所在位置的“后面”n個(gè)字符。
X ?? ? 大寫的X,每按一次,刪除光標(biāo)所在位置的“前面”一個(gè)字符。
nX??? 刪除光標(biāo)所在位置的“前面”n個(gè)字符。
?
2、復(fù)制操作(yank)
yy???復(fù)制光標(biāo)所在行
nyy? ? 復(fù)制從光標(biāo)所在行開始,向下的n行
y1G? ?復(fù)制從光標(biāo)所在行開始,到第一行的所有行
yG ? ? 復(fù)制從光標(biāo)所在行開始,到最后一行的所有行
y$???復(fù)制從光標(biāo)所在位置,到行尾的所有字符
y0???復(fù)制從光標(biāo)所在位置,到行首的所有字符
J ??? 將光標(biāo)所在行與下一行合并成一行
yw ? ? 復(fù)制當(dāng)前光標(biāo)所在的字母到該單詞的最后一個(gè)字母
yaw?? 復(fù)制當(dāng)前光標(biāo)所在的單詞
?
3、粘貼操作(paste)
p??小寫字母p,粘貼剪貼板中的數(shù)據(jù),從光標(biāo)所在行的下一行開始
P??大寫字母P,粘貼剪貼板中的數(shù)據(jù),從光標(biāo)所在行的上一行開始~~
?
4、撤銷與重做操作(undo)
u ??撤銷上一個(gè)操作
?
5、重復(fù)操作
. ??重復(fù)上一操作
?
6、替換操作(replace)
r??? 替換光標(biāo)所在處字符
R???進(jìn)入替換模式,直至按ESC退出
cc ? ? 替換光標(biāo)所在行
cw ?? 替換光標(biāo)所在的英文單詞
~ ???轉(zhuǎn)換大小寫
:n1,n2s/old/new/g??從n1到n2行將old替換成new,g表示全部替換
:1,$s/old/new/g???將整個(gè)文件的old替換成new
:1,$s/old/new/gc ?? c表示確認(rèn)
??new (y/n/a/q/l/^E/^Y)??表示如下:
???y: ?? 替換當(dāng)前內(nèi)容
???n:?? 不替換
???a: ?? 替換所有
???q:? ? 退出
???l:???替換當(dāng)前內(nèi)容,并退出
???Ctrl + e:向后查找
???Ctrl + y:向前查找
?
7、排版操作
:le??? 光標(biāo)所在行左對(duì)齊
:ri?? ? 光標(biāo)所在行右對(duì)齊
:ce???光標(biāo)所在行居中
?
8、查看歷史
:history??顯示最近在vim里面輸入的歷史
1、搜索字符串
/string ?? 向下搜索字符串“string”
?string ??向上搜索字符串“string”
?
2、重復(fù)上次搜索
n ??根據(jù)上次搜索條件找到下一個(gè)匹配的字符串
N??根據(jù)上次搜索條件找到上一個(gè)匹配的字符串
1、單一緩沖區(qū)打開多個(gè)文件
:files??顯示目前打開了哪些文件
:n??? 切換到下一個(gè)緩沖區(qū)內(nèi)容
:N???切換到上一個(gè)緩沖區(qū)內(nèi)容
:2n? ? 切換到下下個(gè)緩沖區(qū)內(nèi)容
:bn ?? 下一個(gè)緩沖區(qū)內(nèi)容(buffer next)
:bp ?? 上一個(gè)緩沖區(qū)內(nèi)容(buffer previous)
?
2、多個(gè)緩沖區(qū)打開多個(gè)文件
:sp [filename]??打開一個(gè)新的緩沖區(qū),如果有filename則內(nèi)容為該文件,否則為當(dāng)前文件
Ctrl+w n??新建一個(gè)緩沖區(qū)
Ctrl+w q??退出光標(biāo)所在的緩沖區(qū)
Ctrl+w j ??光標(biāo)移動(dòng)到下一緩沖區(qū)
Ctrl+w k??光標(biāo)移動(dòng)到上一緩沖區(qū)
Ctrl+w l??光標(biāo)移動(dòng)到右一緩沖區(qū)
Ctrl+w h??光標(biāo)移動(dòng)到左一緩沖區(qū)
Ctrl+w v??左右切割窗口新建緩沖區(qū)
Ctrl+w s??上下切割窗口新建緩沖區(qū)
Ctrl+w o??使光標(biāo)所在緩沖區(qū)最大化,其他緩沖區(qū)隱藏
1、加密文本文件
當(dāng)你用vim打開或新建一個(gè)文件時(shí),如果加上-x參數(shù),即:
#vim -x test.txt??--打開你要加密的文本文件
那么vim會(huì)提示你:
Enter entryption key:
當(dāng)你輸入了密碼后,vim會(huì)提示你重復(fù)輸入以確認(rèn):
Enter same key again:
當(dāng)你在設(shè)置密碼的時(shí)候,是以*來顯示的,非明文。打開文件之后,:wq保存退出,密碼才生效。
當(dāng)下次有人(包括你自己)打開該文件的時(shí)候,vim就會(huì)提示:
Enter encryption key:
這時(shí)你只要輸入你之前所設(shè)置的密碼就可以了。如果你輸入的密碼是錯(cuò)誤的,vim并不會(huì)提示你密碼錯(cuò)誤,而是顯示一堆無意義的垃圾代碼。
?
2、解除加密與重設(shè)密碼
打開你已經(jīng)加密的文件,然后輸入:
#vim test.txt???--打開加密文件之后,輸入下面內(nèi)容
:set key=
這樣,你的密碼就被設(shè)置為空了,今后進(jìn)入就不再需要輸入密碼了。而如果你向重設(shè)密碼的話,你可以輸入:
:X
注意是個(gè)大寫字母X。這時(shí)vim會(huì)提示你,只要反復(fù)輸入兩次新的密碼就可以了:
Enter entryption key:
*****
Enter sanme key again:*****
如果是清除密碼,連續(xù)敲兩次鍵盤就可以了
注意:
加密、解除密碼、重設(shè)密碼之后,一定要保存之后才能生效。
如果密碼輸入錯(cuò)誤,vim不會(huì)拒絕訪問者編輯文件。在這種顯示亂碼的情況下編輯文件并保存,整個(gè)文件就會(huì)變得混亂不堪,無法辨識(shí)。今后即使使用正確的密碼打開文件,也看不到正確的文檔了。
最后,附一張Vim使用總結(jié)圖
本文名稱:Vim基本使用方法
URL分享:http://chinadenli.net/article24/jhgsce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、App開發(fā)、靜態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、做網(wǎng)站、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)