在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ vim 與 vi 常用命令
Linux 學(xué)習(xí)記錄--開機(jī)掛載錯(cuò)誤
日志系統(tǒng)
數(shù)據(jù)流重定向
內(nèi)存交換空間的構(gòu)建
文件系統(tǒng)簡(jiǎn)介
Linux 學(xué)習(xí)記錄--軟件安裝 RPM|SRPM|YUM
文件特殊權(quán)限
目錄配置 FHS
文件內(nèi)容查閱
Boot Loader
文件壓縮
Linux 學(xué)習(xí)記錄--文件權(quán)限
Linux 命令縮寫
命令與文件的查詢
文件|目錄的默認(rèn)權(quán)限與隱藏權(quán)限
shell script
服務(wù)
Linux 學(xué)習(xí)記錄--程序編譯與函數(shù)庫(kù)
正則表達(dá)式與其應(yīng)用
關(guān)機(jī)相關(guān)指令
shell
vim 與 vi 常用命令
系統(tǒng)調(diào)用:進(jìn)程控制
文件系統(tǒng)簡(jiǎn)單操作
磁盤掛載與卸載
有名管道通訊
磁盤分區(qū),格式化與檢驗(yàn)
工作管理與進(jìn)程管理
匿名管道通訊
Linux 學(xué)習(xí)記錄--啟動(dòng)流程
文件與目錄管理
管道命令
命名別名與歷史命令
文件備份|還原
shell變量
Linux 學(xué)習(xí)記錄--ACL 權(quán)限控制
內(nèi)核|內(nèi)核模塊編譯
文件管理相關(guān)系統(tǒng)編程

vim 與 vi 常用命令

語(yǔ)系編碼轉(zhuǎn)換:iconv

vi 是個(gè)文本編輯器,所有 UNIX Like 系統(tǒng)都會(huì)內(nèi)置這個(gè)編輯器
vim 是 vi 的強(qiáng)加版,其具有程序編輯的能力,可以主動(dòng)以字體顏色辨識(shí)語(yǔ)法的正確性。

常用命令

移動(dòng)光標(biāo)的方法

h 或向左箭頭鍵(←)

光標(biāo)向左移動(dòng)一個(gè)字符

j 或向下箭頭鍵(↓)

光標(biāo)向下移動(dòng)一個(gè)字符

k 或向上箭頭鍵(↑)

光標(biāo)向上移動(dòng)一個(gè)字符

l 或向右箭頭鍵(→)

光標(biāo)向右移動(dòng)一個(gè)字符

如果你將右手放在鍵盤上的話,你會(huì)發(fā)現(xiàn) hjkl是排列在一起的,因此可以使用這四個(gè)按鈕來(lái)移動(dòng)光標(biāo)。如果想要進(jìn)行多次移動(dòng)的話,例如向下移動(dòng) 30行,可以使用 "30j" ? "30↓"的組合按鍵,亦即加上想要進(jìn)行的次數(shù)(數(shù)字)后,按下動(dòng)作即可.

[Ctrl] + [f]

屏幕[向下]移動(dòng)一頁(yè),相當(dāng)于 [Page Down]按鍵 (常用)

[Ctrl] + [b]

屏幕[向上]移動(dòng)一頁(yè),相當(dāng)于 [Page Up]按鍵 (常用)

[Ctrl] + [d]

屏幕[向下]移動(dòng)半頁(yè)

[Ctrl] + [u]

屏幕[向上]移動(dòng)半頁(yè)

+

光標(biāo)移動(dòng)到非空格符的下一列

-

光標(biāo)移動(dòng)到非空格符的上一列

n<space>

那個(gè) n 表示[數(shù)字],例如 20。按下數(shù)字后再按空格鍵,光標(biāo)會(huì)向右移動(dòng)這一行的 ? n 個(gè)字符。例如 20<space>則光標(biāo)會(huì)向后面移動(dòng) 20 ?個(gè)字符距離。

0 或功能鍵[Home]

這是數(shù)字[ 0 ]:移動(dòng)到這一行的最前面字符處 (常用)

$ 或功能鍵[End]

移動(dòng)到這一行的最后面字符處(常用)

H

光標(biāo)移動(dòng)到這個(gè)屏幕的最上方那一行的第一個(gè)字符

M

光標(biāo)移動(dòng)到這個(gè)屏幕的中央那一行的第一個(gè)字符

L

光標(biāo)移動(dòng)到這個(gè)屏幕的最下方那一行的第一個(gè)字符

G

移動(dòng)到這個(gè)檔案的最后一行(常用)

nG

n 為數(shù)字。移動(dòng)到這個(gè)檔案的第 n行。例如 20G ?則會(huì)移動(dòng)到這個(gè)檔案的第 20(可配合 :set nu)

gg

移動(dòng)到這個(gè)檔案的第一行,相當(dāng)于 1G. (常用)

n<Enter>

n 為數(shù)字。光標(biāo)向下移動(dòng) n(常用)

搜尋與取代

/word

向光標(biāo)之下尋找一個(gè)名稱為 word的字符串。例如要在檔案內(nèi)搜尋 asde ?這個(gè)字符串,就輸入 /asde即可. (常用)

?word

向光標(biāo)之上尋找一個(gè)字符串名稱為 word的字符串。

n

這個(gè) n 是英文按鍵。代表[重復(fù)前一個(gè)搜尋的動(dòng)作]。舉例來(lái)說(shuō),如果剛剛我們執(zhí)行 /asde去向下搜尋 ? asde 這個(gè)字符串,則按下 n后,會(huì)向下繼續(xù)搜尋下一個(gè)名稱為 asde ?的字符串。如果是執(zhí)行 ?asde的話,那么按下 n ?則會(huì)向上繼續(xù)搜尋名稱為 asde的字符串.

N

這個(gè) N 是英文按鍵。與 n剛好相反,為[反向]進(jìn)行前一個(gè)搜尋動(dòng)作。例如 ? /asde后,按下 N 則表示[向上]搜尋 asde

使用 /word ?配合 n N是非常有幫助的.可以讓你重復(fù)的找到一些你搜尋的關(guān)鍵詞.

:n1,n2s/word1/word2/g

n1 n2為數(shù)字。在第 n1 ? n2行之間尋找 word1 ?這個(gè)字符串,并將該字符串取代為 word2 .舉例來(lái)說(shuō),在 100 200 ?行之間搜尋 asde并取代為 ASDE ?則:
[:100,200s/asde/ASDE/g]。(常用)

:1,$s/word1/word2/g

從第一行到最后一行尋找 word1字符串,并將該字符串取代為 word2 .(常用)

:1,$s/word1/word2/gc

從第一行到最后一行尋找 word1字符串,并將該字符串取代為 word2 .且在取代前顯示提示字符給用戶確認(rèn) (confirm)是否需要取代.(常用)

刪除復(fù)制與粘貼

x, X

在一行字當(dāng)中,x ?為向后刪除一個(gè)字符 (相當(dāng)于 [del]按鍵), X為向前刪除一個(gè)字符(相當(dāng)于 ? [backspace]亦即是退格鍵) (常用)

nx

n 為數(shù)字,連續(xù)向后刪除 n個(gè)字符。舉例來(lái)說(shuō),我要連續(xù)刪除 10 ?個(gè)字符, [10x]

dd

刪除游標(biāo)所在的那一整列(常用)

ndd

n 為數(shù)字。刪除光標(biāo)所在的向下 n列,例如 20dd ?則是刪除 20 (常用)

d1G

刪除光標(biāo)所在到第一行的所有數(shù)據(jù)

dG

刪除光標(biāo)所在到最后一行的所有數(shù)據(jù)

d$

刪除游標(biāo)所在處,到該行的最后一個(gè)字符

d0

那個(gè)是數(shù)字的 0 ?,刪除游標(biāo)所在處,到該行的最前面一個(gè)字符

yy

復(fù)制游標(biāo)所在的那一行(常用)

nyy

n 為數(shù)字。復(fù)制光標(biāo)所在的向下 n列,例如 20yy ?則是復(fù)制 20(常用)

y1G

復(fù)制游標(biāo)所在列到第一列的所有數(shù)據(jù)

yG

復(fù)制游標(biāo)所在列到最后一列的所有數(shù)據(jù)

y0

復(fù)制光標(biāo)所在的那個(gè)字符到該行行首的所有數(shù)據(jù)

y$

復(fù)制光標(biāo)所在的那個(gè)字符到該行行尾的所有數(shù)據(jù)

p, P

p 為將已復(fù)制的數(shù)據(jù)在光標(biāo)下一行貼上,P則為貼在游標(biāo)上一行. ?舉例來(lái)說(shuō),目前光標(biāo)在第 20行,且已經(jīng)復(fù)制了 10 ?行數(shù)據(jù)。則按下 p后,那 10 ?行數(shù)據(jù)會(huì)貼在原本的 20行之后,亦即由 21 ?行開始貼。但如果是按下 P呢?那么原本的第 20 ?行會(huì)被推到變成 30行。 (常用)

J

將光標(biāo)所在列與下一列的數(shù)據(jù)結(jié)合成同一列

c

重復(fù)刪除多個(gè)數(shù)據(jù),例如向下刪除 10行,[ 10cj ]

u

復(fù)原前一個(gè)動(dòng)作。(常用)

[Ctrl]+r

重做上一個(gè)動(dòng)作。(常用)

.

意思是重復(fù)前一個(gè)動(dòng)作的意思。如果你想要重復(fù)刪除、重復(fù)貼上等等動(dòng)作,按下小數(shù)點(diǎn)[.]就好了. (常用)

進(jìn)入插入和替換

i, I

進(jìn)入插入模式(Insert mode)
i [從目前光標(biāo)所在處插入] I[在目前所在行的第一個(gè)非空格符處開始插入]。 ? (常用)

a, A

進(jìn)入插入模式(Insert mode)
a [從目前光標(biāo)所在的下一個(gè)字符處開始插入], A[從光標(biāo)所在行的最后一個(gè)字符處開始插入]。(常用)

o, O

進(jìn)入插入模式(Insert mode)
這是英文字母 o 的大小寫。o[在目前光標(biāo)所在的下一行處插入新的一行]; ? O為在目前光標(biāo)所在處的上一行插入新的一行.(常用)

r, R

進(jìn)入取代模式(Replace mode)
r 只會(huì)取代光標(biāo)所在的那一個(gè)字符一次;R會(huì)一直取代光標(biāo)所在的文字,直到按下 ESC為止;(常用)

上面這些按鍵中,在 vi ?畫面的左下角處會(huì)出現(xiàn)[--INSERT--][--REPLACE--]的字樣。特別注意的是,我們上面也提過(guò)了,你想要在檔案里面輸入字符時(shí),一定要在左下角處看到 INSERT REPLACE ?才能輸入

[Esc]

退出編輯模式,回到一般模式中(常用)

存儲(chǔ)離開與文件保存

:w

將編輯的數(shù)據(jù)寫入硬盤檔案中(常用)

:w!

若文件屬性為[只讀]時(shí),強(qiáng)制寫入該檔案。不過(guò),到底能不能寫入,還是跟你對(duì)該檔案的檔案權(quán)限有關(guān)啊.

:q

離開 vi (常用)

:q!

若曾修改過(guò)檔案,又不想儲(chǔ)存,使用 !為強(qiáng)制離開不儲(chǔ)存檔案。

注意一下啊,那個(gè)驚嘆號(hào) (!) vi ?當(dāng)中,常常具有[強(qiáng)制]的意思~

:wq

儲(chǔ)存后離開,若為 :wq! ?則為強(qiáng)制儲(chǔ)存后離開 (常用)

ZZ

若檔案沒(méi)有更動(dòng),則不儲(chǔ)存離開,若檔案已經(jīng)被更動(dòng)過(guò),則儲(chǔ)存后離開.

:w [filename]

將編輯的數(shù)據(jù)儲(chǔ)存成另一個(gè)檔案(類似另存新檔)

:r [filename]

在編輯的數(shù)據(jù)中,讀入另一個(gè)檔案的數(shù)據(jù)。亦即將 [filename]這個(gè)檔案內(nèi)容加到游標(biāo)所在行后面

:n1,n2 w [filename]

n1 n2的內(nèi)容儲(chǔ)存成 filename ?這個(gè)檔案。

:! command

暫時(shí)離開 vi ?到指令列模式下執(zhí)行 command 的顯示結(jié)果.例如
[:! ls /home]即可在 vi當(dāng)中察看 /home ?底下以 ls輸出的檔案信息.

vim環(huán)境設(shè)定與參數(shù)

:set nu
?:set nonu

就是設(shè)定與取消行號(hào)啊.

:set hlsearch
?:set nohlsearch

hlsearch 就是 high light search(高亮度搜尋)。這個(gè)就是設(shè)定是否將搜尋的字符串反白的設(shè)定值。默認(rèn)值是 hlsearch

:set autoindent
?:set noautoindent

是否自動(dòng)縮排?autoindent就是自動(dòng)縮排。

:set backup

是否自動(dòng)儲(chǔ)存?zhèn)浞輽n?一般是 nobackup的,如果設(shè)定 backup ?的話,那么當(dāng)你更動(dòng)任何一個(gè)檔案時(shí),則源文件會(huì)被另存成一個(gè)檔名為 filename~的檔案。舉例來(lái)說(shuō),我們編輯 hosts ?,設(shè)定 :set backup,那么當(dāng)更動(dòng) hosts ?時(shí),在同目錄下,就會(huì)產(chǎn)生 hosts~文件名的檔案,記錄原始的 hosts ?檔案內(nèi)容

:set ruler

還記得我們提到的右下角的一些狀態(tài)欄說(shuō)明嗎?這個(gè) ruler就是在顯示或不顯示該設(shè)定值的 .

:set showmode

這個(gè)則是,是否要顯示 --INSERT--之類的字眼在左下角的狀態(tài)欄。

:set backspace=(012)

一般來(lái)說(shuō),如果我們按下 i ?進(jìn)入編輯模式后,可以利用退格鍵 (backspace) 來(lái)刪除任意字符的。但是,某些 distribution則不許如此。此時(shí),我們就可以透過(guò) backspace ?來(lái)設(shè)定當(dāng) backspace 2 ?時(shí),就是可以刪除任意值;0 1 ?時(shí),僅可刪除剛剛輸入的字符,而無(wú)法刪除原本就已經(jīng)存在的文字了.

:set all

顯示目前所有的環(huán)境參數(shù)設(shè)定值。

:set

顯示與系統(tǒng)默認(rèn)值不同的設(shè)定參數(shù),一般來(lái)說(shuō)就是你有自行變動(dòng)過(guò)的設(shè)定參數(shù) .

:syntax on
?:syntax off

是否依據(jù)程序相關(guān)語(yǔ)法顯示不同顏色舉例來(lái)說(shuō),在編輯一個(gè)純文本檔時(shí),如果開頭是以 #開始,那么該行就會(huì)變成藍(lán)色。如果你懂得寫程序,那么這個(gè) :syntax on ?還會(huì)主動(dòng)的幫你除錯(cuò)呢.但是,如果你僅是編寫純文本檔案,要避免顏色對(duì)你的屏幕產(chǎn)生的干擾,則可以取消這個(gè)設(shè)定。

:set bg=dark
?:set bg=light

可用以顯示不同的顏色色調(diào),預(yù)設(shè)是[ light ]。如果你常常發(fā)現(xiàn)批注的字體深藍(lán)色實(shí)在很不容易看,那么這里可以設(shè)定為 dark.看看,會(huì)有不同的樣式呢.

說(shuō)明:如果不想每次都進(jìn)行設(shè)置 VIM 環(huán)境,可以講環(huán)境命令添加到~/.vimrc 中(此文件需自行創(chuàng)建) [root@localhost ~]# vim ~/.vimrc set hlsearch set backspace=2 set autoindent set ruler set showmode set nu set bg=dark syntax on
以下圖列出常用命令

http://wiki.jikexueyuan.com/project/learn-linux-step-by-step/images/2.jpg" alt="" />

語(yǔ)系編碼轉(zhuǎn)換(iconv)

經(jīng)常通過(guò)文本編輯器查看文字時(shí)會(huì)出現(xiàn)亂碼,出現(xiàn)亂碼的主要原因是環(huán)境的語(yǔ)系編碼與文件的編碼不一致導(dǎo)致的,比如系統(tǒng)語(yǔ)系是繁體中文(big5),文件語(yǔ)系是簡(jiǎn)體中文(gb2312)。 可以通過(guò)2種方式解決問(wèn)題 1:設(shè)置系統(tǒng)語(yǔ)系編碼 [root@localhost ~]# LANG GB2312 2:語(yǔ)系轉(zhuǎn)為和系統(tǒng)一致 語(yǔ)法:iconv --list iconv –f 原編碼 –t 新編碼 filename [-o newfile] 選項(xiàng)與參數(shù): --list:列出支持的語(yǔ)系 -f:原編碼 -t:新編碼 -o file:保留源文件 file 為新文件名