→【人和時代·中國】深圳vi設(shè)計公司為您提供vi命令大全linux_vi命令使用,vi常用命令,vi命令退出,vi編輯器命令,ubuntu vi命令,solaris vi命令,vi 命令大全,vi 查找命令等概念。
vi命令的全部使用Vi簡介!
Vi命令文本編輯器VI
Vi 是Unix世界里極為普遍的全屏幕文本編輯器,VIM是它的改進版本Vi IMproved的簡稱。幾乎可以說任何一臺Unix機器都會提供這套軟體。Linux當(dāng)然也有,它的 vi 其實是 elvis(版權(quán)問題),不過它們都差不多。熟悉 DOS 下的文書處理後,也許會感到 vi 并不好用;Unix 上也已經(jīng)發(fā)展出許多更新、更好用的文書編輯器,但是并不一定每一臺Unix機器上都會安裝這些額外的軟體。所以,學(xué)習(xí) vi 的基本操作還是有好處,讓你在各個不同的機器上得心應(yīng)手。
Vi命令 基本觀念
Unix 提供一系列的 ex 編輯器,包括 ex, edit 和 vi 。相對於全屏幕編輯器,現(xiàn)在可能很難想像如何使用 ex, edit 這種行列編輯器。 Vi 的原意是 "Visual",它是一個立即反應(yīng)的編輯程序,也就是說可以立刻看到操作結(jié)果。
也由于 vi 是全屏幕編輯器,所以它必須控制整個終端屏幕哪里該顯示些什么。而終端機的種類有許多種,特性又不盡相同,所以 vi 有必要知道現(xiàn)在所使用的是哪一種終端機。這是由 TERM 這個環(huán)境變數(shù)來設(shè)定,設(shè)定環(huán)境變數(shù)方面請查看所使用shell的說明。
只要簡單的在Shell下執(zhí)行vi就可以進入 linux vi 的編輯環(huán)境。在實際操作之前先對它有個了解會比較好。Vi 有兩種模式,輸入模式以及指令模式。輸入模式即是用來輸入文字資料,而指令模式則是用來下達(dá)一些編排文件、存檔、以及離開 vi 等等的操作指令。當(dāng)執(zhí)行 vi 后,會先進入指令模式,此時輸入的任何字元都視為指令。對于vi的詳細(xì)操作,可參考相關(guān)的Unix教程。
vi歷史
1. vi的誕生
vi是Bill Joy所寫,當(dāng)時這位大牛還在Berkeley。Ken Thompson去Berkeley的時候帶去了他那不完整的Pascal系統(tǒng),而Bill Joy恰好在暑假就接到修復(fù)它的工作,他就修復(fù)代碼時使用的編輯器ed很不滿意。正好,他們從一個叫George Coulouris的家伙那里拿到了em的代碼,em比ed要好用。他們就修改了em,發(fā)明了en,而最終又變成了ex(連Bill Joy本人也不知道怎么就變成了ex)。后來他熬了幾個月的夜就寫出了vi。
2. vi并不是一個周末就寫出來的。
Bill Joy自己也宣稱花了很多時間,不過似乎不是因為它有多難寫,而是因為Bill的modem很慢,只有300波特。
VI常用技巧
VI命令可以說是Unix/Linux世界里最常用的編輯文件的命令了,但是因為它的命令集眾多,很多人都不習(xí)慣使用它,其實您只需要掌握基本命令,然后加以靈活運用,就會發(fā)現(xiàn)它的優(yōu)勢,并會逐漸喜歡使用這種方法。本文旨在介紹VI的一些最常用命令和高級應(yīng)用技巧。
一、基本命令介紹
---- 1.光標(biāo)命令
k、j、h、l——上、下、左、右光標(biāo)移動命令。雖然您可以在Linux中使用鍵盤右邊的4個光標(biāo)鍵,但是記住這4個命令還是非常有用的。這4個鍵正是右手在鍵盤上放置的基本位置。
nG——跳轉(zhuǎn)命令。n為行數(shù),該命令立即使光標(biāo)跳到指定行。
Ctrl+G——光標(biāo)所在位置的行數(shù)和列數(shù)報告。
w、b——使光標(biāo)向前或向后跳過一個單詞。
---- 2.編輯命令
i、a、r——在光標(biāo)的前、后以及所在處插入字符命令(i=insert、a=append、r=replace)。
cw、dw——改變(置換)/刪除光標(biāo)所在處的單詞的命令 (c=change、d=delete)。
x、d$、dd——刪除一個字符、刪除光標(biāo)所在處到行尾的所有字符以及刪除整行的命令。
---- 3.查找命令
---- /string、?string——從光標(biāo)所在處向后或向前查找相應(yīng)的字符串的命令。
---- 4.拷貝復(fù)制命令
---- yy、p——拷貝一行到剪貼板或取出剪貼板中內(nèi)容的命令。
二、常見問題及應(yīng)用技巧
---- 1.在一個新文件中讀/etc/passwd中的內(nèi)容,取出用戶名部分。
---- vi file
---- :r /etc/passwd 在打開的文件file中光標(biāo)所在處讀入/etc/passwd
---- :%s/:.*//g 刪除/etc/passwd中用戶名后面的從冒號開始直到行尾的所有部分。
---- 您也可以在指定的行號后讀入文件內(nèi)容,例如使用命令“:3r /etc/passwd”從新文件的第3行開始讀入 /etc/passwd的所有內(nèi)容。
---- 我們還可以使用以下方法刪掉文件中所有的空行及以#開始的注釋行。
---- #cat squid.conf.default | grep -v ^$ | grep -v ^#
---- 2.在打開一個文件編輯后才知道登錄的用戶對該文件沒有寫的權(quán)限,不能存盤,需要將所做修改存入臨時文件。
---- vi file
---- :w /tmp/1 保存所做的所有修改,也可以將其中的某一部分修改保存到臨時文件,例如僅僅把第20~59行之間的內(nèi)容存盤成文件/tmp/1,我們可以鍵入如下命令。
---- vi file
---- :20,59w /tmp/1
---- 3.用VI編輯一個文件,但需要刪除大段的內(nèi)容。
---- 首先利用編輯命令“vi file”打開文件,然后將光標(biāo)移到需要刪除的行處按Ctrl+G顯示行號,再到結(jié)尾處再按Ctrl+G,顯示文件結(jié)尾的行號。
---- :23,1045d 假定2次得到的行號為23和1045,則把這期間的內(nèi)容全刪除,也可以在要刪除的開始行和結(jié)束行中用ma、mb命令標(biāo)記,然后利用“:a,bd”命令刪除。
---- 4.在整個文件的各行或某幾行的行首或行尾加一些字符串。
---- vi file
---- :3,$s/^/some string / 在文件的第一行至最后一行的行首插入“some string”。
---- :%s/$/some string/g 在整個文件每一行的行尾添加“some string”。
---- :%s/string1/string2/g 在整個文件中替換“string1”成“string2”。
---- :3,7s/string1/string2/ 僅替換文件中的第3行到第7行中的“string1”成“string2”。
---- 注意: 其中s為substitute,%表示所有行,g表示global。
---- 5.同時編輯2個文件,拷貝一個文件中的文本并粘貼到另一個文件中。
---- vi file1 file2
---- yy 在文件1的光標(biāo)處拷貝所在行
---- :n 切換到文件2 (n=next)
---- p 在文件2的光標(biāo)所在處粘貼所拷貝的行
---- :n 切換回文件1
---- 6.替換文件中的路徑。
---- 使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路徑/usr/bin換成/bin。也可以使用命令“:%s//usr/bin//bin/g”實現(xiàn),其中“”是轉(zhuǎn)義字符,表明其后的“/”字符是具有實際意義的字符,不是分隔符。
linux下Vi編輯器命令大全
輸入”/”,回車
里面有很多文件夾,如:etc,home,lib,mnt等等
etc:存放用戶名和密碼
home:每個用戶有個文件夾,存放在這里
lib:操作系統(tǒng)文件等
mnt:掛扣用的
opt:java工具
bea:web編程的一些東西
sbin,bin,usr:這三個文件夾都是存放unix的命令的
tmp:臨時文件夾
常用的操作:
查看當(dāng)前目錄:pwd
修改密碼:passwd
更換模式:csh,bash
遠(yuǎn)程登陸:telnet 服務(wù)器ip
回到上級目錄:cd ..
查看該目錄下的文件夾:ls
打開文件:vi /文件夾/文件
文件顯示的格式:root:x:0:root…:/root;/bin/bash 用戶名,加密,序號,組,默認(rèn)路徑
退出:esc shift+: q! quit exit
清空:clear
顯示當(dāng)前目錄所有文件:ls –a
顯示當(dāng)前目錄所有文件和詳細(xì)信息:ls –al
新建文件:vi 文件名
文件的權(quán)限:chmod g –(+)r w x u g o s
新建文件(不能編輯)更新文件的訪問時間,如果存在文件,更新,不存在,建立:touch 文件名
創(chuàng)建目錄:mkdir 目錄名/目錄名
創(chuàng)建多個目錄:mkdir 目錄名 目錄名…..
在主目錄創(chuàng)建下目錄:mkdir ~/目錄名
創(chuàng)建多級目錄:mkdir –p 目錄名/目錄名
在覆蓋文件前做個提示:cp –I
文件和文件內(nèi)容間的拷貝:cp
復(fù)制目錄:cp –r 目錄 目錄
復(fù)制文件:cp 文件 文件
移動文件:mv 要移動的文件 要移動到的目錄
移動目錄:mv -fi要移動的目錄 要移動到的目錄
修改文件或目錄的名字:mv 文件 名字
刪除文件:rm rm –I提示
刪除目錄中的所有內(nèi)容包括目錄:rm –r 要刪除的文件夾
連接:軟連接:相當(dāng)于創(chuàng)建快捷方式,作用:修改linux內(nèi)核會用到他 in
硬連接:如果刪除源文件,被連接的文件內(nèi)容還存在
幫助:man 命令
補全名字:table
顯示日歷:cal
輸入:>
輸出:<
查看文件內(nèi)容:cat 例子:cat文件
分屏顯示:ls –l/目錄|more
合并到一個新的文件:cat a.txt b.txt
設(shè)置環(huán)境變量:
csh中 .cshrc source cshrc
bash中 .profile 執(zhí)行..profile或者source .profile
本編輯器是所有計算機系統(tǒng)中最常用的一種工具。UNIX下的編輯器有ex,sed和vi等,其中,使用最為廣泛的是vi,而vi命令繁多,論壇里好像這方面的總結(jié)不多,以下稍做總結(jié),以資共享!渴望更正和補充!
進入vi的命令
vi filename :打開或新建文件,并將光標(biāo)置于第一行首
vi +n filename :打開文件,并將光標(biāo)置于第n行首
vi + filename :打開文件,并將光標(biāo)置于最后一行首
vi +/pattern filename:打開文件,并將光標(biāo)置于第一個與pattern匹配的串處
vi -r filename :在上次正用vi編輯時發(fā)生系統(tǒng)崩潰,恢復(fù)filename
vi filename....filename :打開多個文件,依次進行編輯
移動光標(biāo)類命令
h :光標(biāo)左移一個字符
l :光標(biāo)右移一個字符
space:光標(biāo)右移一個字符
Backspace:光標(biāo)左移一個字符
k或Ctrl+p:光標(biāo)上移一行
j或Ctrl+n :光標(biāo)下移一行
Enter :光標(biāo)下移一行
w或W :光標(biāo)右移一個字至字首
b或B :光標(biāo)左移一個字至字首
e或E :光標(biāo)右移一個字至字尾
) :光標(biāo)移至句尾
( :光標(biāo)移至句首
}:光標(biāo)移至段落開頭
{:光標(biāo)移至段落結(jié)尾
nG:光標(biāo)移至第n行首
n+:光標(biāo)下移n行
n-:光標(biāo)上移n行
n$:光標(biāo)移至第n行尾
H :光標(biāo)移至屏幕頂行
M :光標(biāo)移至屏幕中間行
L :光標(biāo)移至屏幕最后行
0:(注意是數(shù)字零)光標(biāo)移至當(dāng)前行首
$:光標(biāo)移至當(dāng)前行尾
屏幕翻滾類命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時將當(dāng)前行滾至屏幕頂部。
插入文本類命令
i :在光標(biāo)前
I :在當(dāng)前行首
a:光標(biāo)后
A:在當(dāng)前行尾
o:在當(dāng)前行之下新開一行
O:在當(dāng)前行之上新開一行
r:替換當(dāng)前字符
R:替換當(dāng)前字符及其后的字符,直至按ESC鍵
s:從當(dāng)前光標(biāo)位置處開始,以輸入的文本替代指定數(shù)目的字符
S:刪除指定數(shù)目的行,并以所輸入文本代替之
ncw或nCW:修改指定數(shù)目的字
nCC:修改指定數(shù)目的行
刪除命令
ndw或ndW:刪除光標(biāo)處開始及其后的n-1個字
do:刪至行首
d$:刪至行尾
ndd:刪除當(dāng)前行及其后n-1行
x或X:刪除一個字符,x刪除光標(biāo)后的,而X刪除光標(biāo)前的
Ctrl+u:刪除輸入方式下所輸入的文本
搜索及替換命令
/pattern:從光標(biāo)開始處向文件尾搜索pattern
?pattern:從光標(biāo)開始處向文件首搜索pattern
n:在同一方向重復(fù)上一次搜索命令
N:在反方向上重復(fù)上一次搜索命令
:s/p1/p2/g:將當(dāng)前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:將文件中所有p1均用p2替換
選項設(shè)置
all:列出所有選項設(shè)置情況
term:設(shè)置終端類型
ignorance:在搜索中忽略大小寫
list:顯示制表位(Ctrl+I)和行尾標(biāo)志($)
number:顯示行號
report:顯示由面向行的命令修改過的數(shù)目
terse:顯示簡短的警告信息
warn:在轉(zhuǎn)到別的文件時若沒保存當(dāng)前文件則顯示NO write信息
nomagic:允許在搜索模式中,使用前面不帶“\”的特殊字符
nowrapscan:禁止vi在搜索到達(dá)文件兩端時,又從另一端開始
mesg:允許vi顯示其他用戶用write寫到自己終端上的信息
最后行方式命令
:n1,n2 co n3:將n1行到n2行之間的內(nèi)容拷貝到第n3行下
:n1,n2 m n3:將n1行到n2行之間的內(nèi)容移至到第n3行下
:n1,n2 d :將n1行到n2行之間的內(nèi)容刪除
:w :保存當(dāng)前文件
:e filename:打開文件filename進行編輯
:x:保存當(dāng)前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:執(zhí)行shell命令command
:n1,n2 w!command:將文件中n1行至n2行的內(nèi)容作為command的輸入并執(zhí)行之,若不指定n1,n2,則表示將整個文件內(nèi)容作為command的輸入
:r!command:將命令command的輸出結(jié)果放到當(dāng)前行
寄存器操作
"?nyy:將當(dāng)前行及其下n行的內(nèi)容保存到寄存器?中,其中?為一個字母,n為一個數(shù)字
"?nyw:將當(dāng)前行及其下n個字保存到寄存器?中,其中?為一個字母,n為一個數(shù)字
"?nyl:將當(dāng)前行及其下n個字符保存到寄存器?中,其中?為一個字母,n為一個數(shù)字
"?p:取出寄存器?中的內(nèi)容并將其放到光標(biāo)位置處。這里?可以是一個字母,也可以是一個數(shù)字
ndd:將當(dāng)前行及其下共n行文本刪除,并將所刪內(nèi)容放到1號刪除寄存器中。
本頁關(guān)健詞:vi常用命令,vi編輯器命令,linux vi命令,vi命令使用,unix vi 命令,vi 命令 退出,ubuntu vi命令,solaris vi命令,vi 命令大全,vi 查找命令。
本文讓大家多多學(xué)習(xí),多多提升,不懂設(shè)計概念的朋友請多多交流,請加我QQ:1622982, 或上我的網(wǎng)站更多設(shè)計咨訊( http://sun4111.com , http://www.hotelcis.com , http://www.brandcis.com )去看看!
★版權(quán)所有,轉(zhuǎn)載請注明來源于:【人和時代·中國】VI設(shè)計網(wǎng) http://sun4111.com !
【人和時代·中國】國際級概念整合vi品牌策劃設(shè)計一體化,專業(yè)為您點亮vi企業(yè)品牌之路!
——源自臺灣專業(yè)vi品牌策劃執(zhí)行專家
——源自臺灣專業(yè)vi品牌vi形象設(shè)計公司
——國際級概念、專業(yè)針對企業(yè)vi品牌策劃、CIS系統(tǒng)規(guī)劃、設(shè)計、導(dǎo)入、執(zhí)行專家!
——vi品牌設(shè)計(顧問)策劃、vi標(biāo)志設(shè)計(LOGO)、深圳vi設(shè)計、vi精裝畫冊設(shè)計、vi品牌(CIS)整合,vi企業(yè)廣告宣傳設(shè)計制作、印刷等一整套的服務(wù),是您長期跟蹤合作商。
品牌整合→人和時代將是您先擇最佳的vi品牌整合策劃設(shè)計(顧問)合作商!
我們相信→創(chuàng)意就是力量,誠信締造美好未來…