主頁 > 知識庫 > BSD下vi用法詳解

BSD下vi用法詳解

熱門標(biāo)簽:地圖標(biāo)注與注記總結(jié) 赤峰防封電銷卡 人工電銷和ai機(jī)器人的區(qū)別 地圖標(biāo)注山峰最低高度 信陽外呼系統(tǒng)廠家 北海智能電銷機(jī)器人公司 地圖標(biāo)注多個(gè)城市 駐馬店電話自動外呼系統(tǒng)怎么樣 南京自動外呼系統(tǒng)有哪些

vi用法
 VI命令可以說是Unix/linux世界里最常用的編輯文件的命令了,但是因?yàn)樗拿罴姸?,很多人都不?xí)慣使用它,其實(shí)您只需要掌握基本命令,然后加以靈活運(yùn)用,就會發(fā)現(xiàn)它的優(yōu)勢,并會逐漸喜歡使用這種方法。本文旨在介紹VI的一些最常用命令和高級應(yīng)用技巧。
一、基本命令介紹
---- 1.光標(biāo)命令
k、j、h、l——上、下、左、右光標(biāo)移動命令。雖然您可以在linux中使用鍵盤右邊的4個(gè)光標(biāo)鍵,但是記住這4個(gè)命令還是非常有用的。這4個(gè)鍵正是右手在鍵盤上放置的基本位置。
nG——跳轉(zhuǎn)命令。n為行數(shù),該命令立即使光標(biāo)跳到指定行。
Ctrl+G——光標(biāo)所在位置的行數(shù)和列數(shù)報(bào)告。
w、b——使光標(biāo)向前或向后跳過一個(gè)單詞。
---- 2.編輯命令
i、a、r——在光標(biāo)的前、后以及所在處插入字符命令(i=insert、a=append、r=replace)。
cw、dw——改變(置換)/刪除光標(biāo)所在處的單詞的命令 (c=change、d=delete)。
x、d$、dd——刪除一個(gè)字符、刪除光標(biāo)所在處到行尾的所有字符以及刪除整行的命令。
按ESC跳出編輯模式到命令模式
---- 3.查找命令
---- /string、?string——從光標(biāo)所在處向后或向前查找相應(yīng)的字符串的命令。
---- 4.拷貝復(fù)制命令
---- yy、p——拷貝一行到剪貼板或取出剪貼板中內(nèi)容的命令。
二、常見問題及應(yīng)用技巧
---- 1.在一個(gè)新文件中讀/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.在打開一個(gè)文件編輯后才知道登錄的用戶對該文件沒有寫的權(quán)限,不能存盤,需要將所做修改存入臨時(shí)文件。
---- vi file
---- :w /tmp/1 保存所做的所有修改,也可以將其中的某一部分修改保存到臨時(shí)文件,例如僅僅把第20~59行之間的內(nèi)容存盤成文件/tmp/1,我們可以鍵入如下命令。
---- vi file
---- :20,59w /tmp/1
---- 3.用VI編輯一個(gè)文件,但需要刪除大段的內(nèi)容。
---- 首先利用編輯命令“vi file”打開文件,然后將光標(biāo)移到需要刪除的行處按Ctrl+G顯示行號,再到結(jié)尾處再按Ctrl+G,顯示文件結(jié)尾的行號。(注:可以先用命令:set nu來顯示全部的行號)
---- :23,1045d 假定2次得到的行號為23和1045,則把這期間的內(nèi)容全刪除,也可以在要刪除的開始行和結(jié)束行中用ma、mb命令標(biāo)記,然后利用“:'a,'bd”命令刪除。
---- 4.在整個(gè)文件的各行或某幾行的行首或行尾加一些字符串。
---- vi file
---- :3,$s/^/some string / 在文件的第一行至最后一行的行首插入“some string”。
---- :%s/$/some string/g 在整個(gè)文件每一行的行尾添加“some string”。
---- :%s/string1/string2/g 在整個(gè)文件中替換“string1”成“string2”。
---- :3,7s/string1/string2/ 僅替換文件中的第3行到第7行中的“string1”成“string2”。
---- 注意: 其中s為substitute,%表示所有行,g表示global。
---- 5.同時(shí)編輯2個(gè)文件,拷貝一個(gè)文件中的文本并粘貼到另一個(gè)文件中。
---- 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”實(shí)現(xiàn),其中“”是轉(zhuǎn)義字符,表明其后的“/”字符是具有實(shí)際意義的字符,不是分隔符。(linux知識寶庫)
--------------------------------------------------------------------------------------------
vi的簡單用法:
進(jìn)入vi后 有兩種模式
1.編輯模式
2.命令模式

進(jìn)入vi后默認(rèn)是命令模式,所以不要亂按 就會得到dd的警告聲,要輸入文字的話 請按a后i 就可以開始輸入文字拉!
輸入結(jié)束后 請按esc鍵回命令模式
輸入q就是退出
輸入wq就是存盤后退出
輸入q!放棄存盤強(qiáng)行退出

Vi 的使用

Vi 已經(jīng)是 Unix 系統(tǒng)中標(biāo)準(zhǔn)的文字編輯器, 每個(gè)網(wǎng)管人員都必須熟悉它, 因?yàn)槟銜诰S護(hù)系統(tǒng)時(shí)常常遇到它.
Vi 對初學(xué)者而言, 第一印象總是不好, 覺得它難用. 其實(shí), 大家在用慣了辦公室軟件之后, 再回過頭來用這些未見過的怪物, 難免無法適應(yīng), 這是很正常的. 但別忘了, 各位都將是學(xué)校中重要網(wǎng)管的人員,您的角色不再是純粹的使用者, 而是一位面對復(fù)雜網(wǎng)絡(luò)的管理者及問題解決者, 你必須能夠親手操控你的系統(tǒng), 設(shè)定你的系統(tǒng), 調(diào)整你的系統(tǒng), 而這個(gè)過程, 你就不得不去面對 Vi.
不要拿 Word 的使用習(xí)慣來挑剔 Vi, 它們的作用方向不同, 風(fēng)格也不同, 一旦您能上手, 也許你會喜歡上它. Vi 是網(wǎng)絡(luò)管理人員的標(biāo)準(zhǔn)左右手.
So, 打開你的心, 接受會比反彈更有收獲.
二. 開啟檔案, 關(guān)閉檔案
vi 檔名 開啟檔案
: 進(jìn)入命令列的方法
q 離開 (命令列)
wq 存盤然后離開 (命令列)
q! 放棄存盤, 強(qiáng)迫離開 (命令列)
ZZ 存盤然后離開 (不在命令列使用)
:e 檔名 在 Vi 中開啟檔案
三. Vi 的操作模式:
Vi 有二種主要的操作模式, ESC 鍵為單向的切換鍵(由本文輸入模式回到編輯命令模式)
編輯命令模式 : 要 vi 做一些特定目的的動作. 如插入,附加,取代,修改,刪除,移動光標(biāo),搜尋等等. 若是存盤等動作, 則需在命令列中下達(dá), 欲切換至命令列, 需先按 :
本文輸入模式 : 在此模式下, 任何字符, 皆被視為輸入的數(shù)據(jù).
一開始進(jìn)入 Vi 之后, 即進(jìn)入編輯命令模式, 你輸入的每一個(gè)字符, 皆被預(yù)視為一個(gè)指令. 有效的指令會被接受, 若是無效的指令, 會產(chǎn)生 beep beep 聲, 以示警告.
若想做輸入的動作, 必須切換為本文輸入模式, 切換的方法, 只要單按一個(gè)特殊意義的字符鍵即可, 如下所示:
按 i 或 I 插入狀態(tài)
按 a 或 A 附加狀態(tài)
按 R 取代狀態(tài)R 會進(jìn)行連續(xù)字符取代
按 s 或 S 刪除一個(gè)字符;刪除光標(biāo)所在那一列
按 cw, c2b, c$, c0 修改狀態(tài)
按 o 或 O 新增空白列
你不必一下子全用上, 只要會 i, a, o 這個(gè)三個(gè)模式即可勝任愉快, 因?yàn)榇蟛糠輹r(shí)候, 你也只用這三個(gè).
OK, 現(xiàn)在你可以試著在本文輸入模式下, 鍵入一些資料看看. 然后, 按 ESC 切換回編輯命令模式.
四. 移動光標(biāo):
Vi 為了適用于各種不同的終端機(jī)模式, 因此以字鍵的方式來操控光標(biāo).
k j h l 上 下 左 右
Enter 換列
w b 往前一個(gè) word ; 倒退一個(gè) word
0 $ 至該列開頭 ; 至該列尾端
+ - 往下一列; 往上一列
請記住一個(gè)要訣:
在 Vi 中, 大部份的命令都可以在其前面加上數(shù)字, 該數(shù)字表示重復(fù)該命令的次數(shù).
例如: 8l 表示往右移動 8 個(gè)字符, 3w 表示往前移動三個(gè) word, 2b 表示倒退 2 個(gè) word
注: word 的定義, 連續(xù)英數(shù)字元形成一個(gè) word, 而其它特殊符號則每一個(gè)字符便是一個(gè) word(除非連續(xù)特殊字符), 例如: --classify 中含有 2 個(gè) word, 一個(gè)是 -- ; 一個(gè)是 classify
而 -x, 則有 3 個(gè) word.
在特殊的終端機(jī)模式下, 方向鍵也是可以使用的. 如 linux 或 vt100.
其實(shí)大部份時(shí)候, 你仍可以保有使用方向鍵的習(xí)慣. 但大概只有 local 下才能使用 PgUp , PgDn, End, Home 等鍵喔!
不過, 若你所使用的終端機(jī)模式不支持方向鍵, 那么上表中的按鍵, 就相當(dāng)重要了.
五. 卷頁:
ctrl+f 往下一頁 (forward)
ctrl+b 往上一頁 (before)
ctrl+d 往下半個(gè)屏幕(down)
ctrl+u 往上半個(gè)屏幕(up)
六. 跳列:
你可以指定跳至某一列位置. 跳動之前, 先查看一下目前所在列數(shù)是多少.
ctrl+g 可以顯示目前的位置, 如: "ls.txt" line 53 of 264 --20%-- col 16-23
上面表示, 目前是在第 53 列, 全部共有 264 列, 占該檔百分之20的位置, 目前的光標(biāo), 實(shí)際是在第23行, 但只算成第16行, 因?yàn)橹虚g有使用 tab 鍵.
80G 或 80gg 跳至第 80 列
G 跳至文件尾
gg 跳至文件頭
七. 刪除: (但不會進(jìn)入本文輸入模式)
x 刪除一個(gè)字符
dd 刪除一行
r 取代一個(gè)字符
以上皆針對光標(biāo)目前的所在位置產(chǎn)生作用.
還有 dw, db, de, d0, d$ 等命令, 但你不須一下子全用上. 上表中這三個(gè)夠用了.
記住一個(gè)要訣: Vi 的命令繁多, 但你真正用上手的不必多, 而且這些也就夠了.
八. undo (回復(fù)動作):
若你對上一個(gè)動作反悔了, 可以使用 undo 的功能:
u 取消上一個(gè)動作所產(chǎn)生的改變
U 取消光標(biāo)所在那一列所有的改變
:e! 取消所有的改變, 回復(fù)至未修改之前
九. 關(guān)鍵詞搜尋/取代:
/ 關(guān)鍵詞 往下搜尋關(guān)鍵詞
? 關(guān)鍵詞 往上搜尋關(guān)鍵詞
n 重復(fù)搜尋命令(不管往下或往上) (注:等于是“尋找下一個(gè)”)
N 和 n 相反方向
cw字符串 以該字符串取代原有的關(guān)鍵詞
n. 繼續(xù)取代該字符串的動作
%s/目標(biāo)/取代/g 將目標(biāo)字符串全換成取代字符串
十. 選取、復(fù)制與搬移:
Y 或 yy 選取光標(biāo)所在那一列
5Y 或 5yy 選取光標(biāo)列所在共5列(5 只是一個(gè)例子, 可改用其它數(shù)字)
p 將選取的內(nèi)容, 復(fù)制至光標(biāo)之后
P 將選取的內(nèi)容, 復(fù)制至光標(biāo)之前
cw, x, dd 等刪除命令 會將被刪除的內(nèi)容放入 buffer 中, 配合 p 或 P 即可做出搬移的效果.
十一. 暫時(shí)跳出 Vi:
在編輯過程中, 你可能想要執(zhí)行其它命令, 方法如下:
:! 命令 執(zhí)行該令命
:sh 暫時(shí)跳出 Vi, 欲回 Vi 按 ctrl+d 或 exit

標(biāo)簽:廣元 信陽 梧州 達(dá)州 烏蘭察布 晉中 德陽 張家界

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《BSD下vi用法詳解》,本文關(guān)鍵詞  BSD,下,用法,詳解,BSD,下,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《BSD下vi用法詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于BSD下vi用法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章