新聞中心
輕松編輯文件:學(xué)會(huì)Linux vi的剪切技巧

成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,先為埇橋區(qū)等服務(wù)建站,埇橋區(qū)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為埇橋區(qū)企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
雖然現(xiàn)在市場(chǎng)上有很多優(yōu)秀的文本編輯器,但是在Linux系統(tǒng)中,更受歡迎和最常用的編輯器莫過于vi了。雖然剛開始使用vi可能有些難以理解,但是,理解了其基本的操作,尤其是剪切技巧,vi就會(huì)成為開發(fā)者的得力工具。本文就讓我們一起來學(xué)習(xí)Linux vi的剪切技巧,輕松編輯文件。
Linux vi介紹
linux vi最初發(fā)明于1976年,是一個(gè)支持在終端下操作的文本編輯器。它是開源軟件,可在Lunux系統(tǒng)中免費(fèi)使用。vi編輯器的發(fā)明和流行,使得類Unix系統(tǒng)下的文本編輯器解決了很多歷史遺留問題。vi在開發(fā)領(lǐng)域應(yīng)用廣泛,商業(yè)應(yīng)用很少,主要應(yīng)用于開發(fā)、文本編輯和代碼想法的交流記錄。
vi使用的三個(gè)模式
vi提供了三個(gè)模式,分別是插入模式、命令模式、可視模式。
插入模式中,我們可以在屏幕上輸入文本,比如說輸入命令”:i”,進(jìn)入插入模式,然后就可以在當(dāng)前光標(biāo)位置插入文本,相當(dāng)于其他文本編輯器中的“正常模式”。
命令模式中,我們可以執(zhí)行各種編輯器的命令,如 :w是保存文件,:q是退出編輯器等等命令,這個(gè)模式在默認(rèn)情況下是開啟的,但是如果在編輯器中誤進(jìn)入了其他模式,使用Escape鍵即可回到命令模式。
可視模式中,可以高亮文本,快速?gòu)?fù)制和剪切、刪除文本,快速行選擇等功能,進(jìn)入可視模式:V,進(jìn)入行選擇模式。相當(dāng)于文本編輯器中的”選擇模式”。
學(xué)會(huì)Linux vi的剪切技巧
掌握vi剪切技巧是任何開發(fā)者必須具備的核心技能,這可極大提高我們的生產(chǎn)力。下面是學(xué)習(xí)vi剪切技巧的步驟:
步驟1:進(jìn)入vi編輯器
在Linux系統(tǒng)中,打開終端,輸入vi,并在后面跟上文件名來進(jìn)入vi編輯器模式,例如:
vi filename.py
步驟2:進(jìn)入命令模式
一旦進(jìn)入vi編輯器,我們便可以啟用命令模式。在這種模式下輸入命令,而不是輸入文本。為了進(jìn)入命令模式,按下Esc鍵,輸入”:”并按下回車鍵。
步驟3:使用快捷鍵刪除單個(gè)字符
一個(gè)單個(gè)字符可以使用“ x ”快捷鍵進(jìn)行刪除。只需將光標(biāo)移動(dòng)到要?jiǎng)h除的字符上然后按“ x”鍵即可。
步驟4:使用dd 命令刪除一整行
刪除整行文本時(shí),可以使用快捷鍵 “dd”完成。只需將光標(biāo)移動(dòng)到要?jiǎng)h除的行上,然后按“dd”鍵即可。
步驟5:使用yw命令剪切一個(gè)完整單詞
如果要剪切一個(gè)完整的單詞,更好使用“yw”命令。只需將光標(biāo)移到該單詞的初始位置,按下“yw”鍵,該單詞將復(fù)制到寄存器中。
步驟6:使用p鍵粘貼
要在文本中粘貼之前剪切的文本,可以使用 “p” 鍵粘貼。此外,你還可以使用“P”鍵將文本粘貼到當(dāng)前光標(biāo)所在行的前面。
步驟7:使用yy命令復(fù)制一整行
如果要復(fù)制一整行,可以用命令“yy”命令。只需將光標(biāo)移動(dòng)到需要復(fù)制的行上,輸入“yy”,然后將該行復(fù)制到寄存器中。
學(xué)習(xí)vi的剪切技巧是一件非常值得的事情。通過熟練掌握這些技巧,我們可以快速、高效地編輯文本文件。希望本文的內(nèi)容能夠幫助開發(fā)者們提高他們的Linux技能。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
linux命令vi文本編輯器的使用方法
如果你想編輯某個(gè)文檔 可以直接耐嘩編輯的如你有文檔AA 可以用vi AA 【注意:必須在AA所在的目錄下】 如果沒有文檔而且你又想編輯就可以直接編輯vi aa【名字你可以隨便命名】 也可以先建立一個(gè)文檔touch aa 然后再編輯vi aa 編輯器有三種模式 1 命令行模式 2 末行模式 3 輸入模式 按Esc 就可胡搜以進(jìn)入命令行模式也是系統(tǒng)默認(rèn)模式 輸入模式可以按 o i a 都可以進(jìn)入 退出可以進(jìn)入末行和命令行模式 末行模式可以按ctrl+;它的主要功能是退出編輯器 也可以保存退出文檔 q! 【強(qiáng)制退出不保存】 q【退出不保存】 wq【退出并保存后面也可以加個(gè)!】 在輸昌做行入模式和命令行模式命令很多 如果你想具體知道哪些你可以在和我說 如復(fù)制(yy)粘貼(p) 刪除(d)等等。有本書《Linux就該這么學(xué)》,簡(jiǎn)單到復(fù)雜的命令應(yīng)有盡有,沒事多看看就學(xué)會(huì)了。
linux下vi命令大全
進(jìn)入vi的命令
vi filename :打開或新建文件,并將光標(biāo)置于之一行首
vi +n filename :打開文件,并將光標(biāo)置于第n行首
vi + filename :打開文件,并將光標(biāo)置于最后一行首
vi +/pattern filename:打開文件,并將光標(biāo)置于之一個(gè)與pattern匹配的串處
vi -r filename :在上次正用vi編輯時(shí)發(fā)生系統(tǒng)崩潰,恢復(fù)filename
vi filename….filename :打開多個(gè)文件,依次進(jìn)行編輯
移動(dòng)光標(biāo)類命令
h :光標(biāo)左移一個(gè)字符
l :光標(biāo)右移一個(gè)字符
space:光標(biāo)右移一個(gè)字符
Backspace:光標(biāo)左移一個(gè)字符
k或Ctrl+p:光標(biāo)上移一行
j或Ctrl+n :光標(biāo)下移一行
Enter :光標(biāo)下移一行
w或W :光標(biāo)右移一個(gè)字至字首
b或B :光標(biāo)左移一個(gè)字至字首
e或E :光標(biāo)右移一個(gè)字至字尾
) :光標(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)移至屏幕褲空?qǐng)F(tuán)最后行
0:(注意是數(shù)字零)光標(biāo)移至當(dāng)前行首
$:光標(biāo)移至當(dāng)前行尾
屏幕翻滾類命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時(shí)將當(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個(gè)字
do:刪至行首
d$:刪至行尾
ndd:刪胡橘除當(dāng)前行及其后n-1行
x或X:刪除一個(gè)字符,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替換
選項(xiàng)設(shè)置
all:列出所有選項(xiàng)設(shè)置情況
term:設(shè)置終端類型
ignorance:在搜索中忽略大小寫
list:顯示制表位(Ctrl+I)和行尾標(biāo)志($)
number:顯示行號(hào)
report:顯示由面向行的命令修改過的數(shù)目
terse:顯示簡(jiǎn)短的警告信息
warn:在轉(zhuǎn)到別的文件時(shí)若沒保存當(dāng)前文件則顯示NO write信息
nomagic:允許在搜索模式中,使用前面不帶“\”的特殊字符
nowrapscan:禁止vi在搜索到達(dá)文件兩端時(shí),又從另一端開始
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進(jìn)行編輯
:x:保存當(dāng)前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:執(zhí)行shell命令command
:n1,n2 w!command:虧緩將文件中n1行至n2行的內(nèi)容作為command的輸入并執(zhí)行之,若不指定n1,n2,則表示將整個(gè)文件內(nèi)容作為command的輸入
:r!command:將命令command的輸出結(jié)果放到當(dāng)前行
寄存器操作
“?nyy:將當(dāng)前行及其下n行的內(nèi)容保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字
“?nyw:將當(dāng)前行及其下n個(gè)字保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字
“?nyl:將當(dāng)前行及其下n個(gè)字符保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字
“?p:取出寄存器?中的內(nèi)容并將其放到光標(biāo)位置處。這里?可以是一個(gè)字母,也可以是一個(gè)數(shù)字
ndd:將當(dāng)前行及其下共n行文本刪除,并將所刪內(nèi)容放到1號(hào)刪除寄存器中。
VI的使用
一、插入文本
┌──┬────────────┐
│命令│描述│
├──┼────────────┤
│i │在當(dāng)前字符前插入文本 │
├──┼────────────┤
│I │在行首插入文本│
├──┼────────────┤
│a │在當(dāng)前字符后添加文本 │
├──┼────────────┤
│A │在行末添加文本 │
├──┼────────────┤
│o │在當(dāng)前行后面插入一空行 │
├──┼────────────┤
│O │在當(dāng)前行前面插入一空行 │
├──┼────────────┤
│R │以改寫方式輸入文本 │
└──┴────────────┘
二、移動(dòng)光標(biāo)
┌─────┬───────────┐
│命令 │描述│
├─────┼───────────┤
│j或下箭頭 │向下移動(dòng)一行 │
├─────┼───────────┤
│k或上箭頭 │向上移動(dòng)一行 │
├─────┼───────────┤
│h或左箭頭 │左移一個(gè)字符 │
├─────┼───────────┤
│l或右箭頭 │右移一個(gè)字符 │
├─────┼───────────┤
│w │右移一個(gè)詞 │
├─────┼───────────┤
│W │右移一個(gè)以空格分隔的詞│
├─────┼───────────┤
│b │左移一個(gè)詞 │
├─────┼───────────┤
│B │左移一個(gè)以空格分隔的詞│
├─────┼───────────┤
│0 │移到行首│
│Ctrl-F│向前翻頁(yè)│
├─────┼───────────┤
│Ctrl-B│向后翻頁(yè)│
├─────┼───────────┤
│nG│到第n行│
├─────┼───────────┤
│G │到最后一行 │
└─────┴───────────┘
三、替換文本
┌─────┬──────┐
│命令 │描述 │
├─────┼──────┤
│$ │到行尾 │
├─────┼──────┤
│( │到句子的開頭│
├─────┼──────┤
│) │到句子的末尾│
├─────┼──────┤
│{│到段落的開頭│
├─────┼──────┤
│}│到段落的末尾│
└─────┴──────┘
四、刪除文本
┌───┬───────────┐
│命令 │描述│
├───┼───────────┤
│r │替換一個(gè)字符 │
├───┼───────────┤
│c │修改文本直到按下Esc健 │
├───┼───────────┤
│cw│修改下一個(gè)詞│
├───┼───────────┤
│cnw │修改接下來的n個(gè)詞│
└───┴───────────┘
五、文本編輯
┌──┬──────────────────────┐
│命寺│描述 │
├──┼──────────────────────┤
│yy│將一行文本移到缺省緩沖區(qū)中│
├──┼──────────────────────┤
│yn│將下一個(gè)詞移到缺省緩沖區(qū)中│
├──┼──────────────────────┤
│ynw │將后面的n個(gè)詞移到缺省緩沖區(qū)中 │
├──┼──────────────────────┤
│p │如果缺省緩沖區(qū)中包含一行文本,則在當(dāng)前 │
││行后面插入一個(gè)空行井將缺省緩沖區(qū)中的聲 │
││容粘貼到這一行中;如果缺省緩沖區(qū)中包含 │
││多個(gè)詞,把這些詞粘貼到光標(biāo)的右邊. │
├──┼──────────────────────┤
│P │如果缺省緩沖區(qū)中包含一行文本,則正當(dāng)前│
│ │行前面插入一個(gè)空行井將缺省緩沖區(qū)中的內(nèi)│
││容粘貼到這一行中;如果缺省緩沖區(qū)中包含 │
│ │多個(gè)詞,把這些詞粘貼到光標(biāo)的左邊
│
└──┴──────────────────────┘
六、保存退出
┌───────────┬───────────────┐
│命令│描述│
├───────────┼───────────────┤
│zz│保存并退出│
├───────────┼───────────────┤
│:w filename│寫入文件│
├───────────┼───────────────┤
│:W│寫入文件│
├───────────┼───────────────┤
│:x│保存(如果當(dāng)前文件修改過)并退出│
├───────────┼───────────────┤
│:q! │不保存文件,直接退出 │
├───────────┼───────────────┤
│:q│退出vi│
VI常用技巧
VI命令可以說是Unix/Linux世界里最常用的編輯文件的命令了,但是因?yàn)樗拿罴姸?,很多人都不?xí)慣使用它,其實(shí)您只需要掌握基本命令,然后加以靈活運(yùn)用,就會(huì)發(fā)現(xiàn)它的優(yōu)勢(shì),并會(huì)逐漸喜歡使用這種方法。本文旨在介紹VI的一些最常用命令和高級(jí)應(yīng)用技巧。
一、基本命令介紹
—- 1.光標(biāo)命令
k、j、h、l——上、下、左、右光標(biāo)移動(dòng)命令。雖然您可以在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——?jiǎng)h除一個(gè)字符、刪除光標(biāo)所在處到行尾的所有字符以及刪除整行的命令。
—- 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中用戶名后面的從冒號(hào)開始直到行尾的所有部分。
—- 您也可以在指定的行號(hào)后讀入文件內(nèi)容,例如使用命令“:3r/etc/passwd”從新文件的第3行開始讀入 /etc/passwd的所有內(nèi)容。
—- 我們還可以使用以下方法刪掉文件中所有的空行及以#開始的注釋行。
—- #cat squid.conf.default | grep -v ^$ | grep -v ^#
—- 2.在打開一個(gè)文件編輯后才知道登錄的用戶對(duì)該文件沒有寫的權(quán)限,不能存盤,需要將所做修改存入臨時(shí)文件。
—- vi file
—- :w /tmp/1 保存所做的所有修改,也可以將其中的某一部分修改保存到臨時(shí)文件,例如僅僅把第20~59行之間的內(nèi)容存盤成文件/tmp/1,我們可以鍵入如下命令。
—- vi file
—- :20,59w /tmp/1
—- 3.用VI編輯一個(gè)文件,但需要?jiǎng)h除大段的內(nèi)容。
—- 首先利用編輯命令“vi file”打開文件,然后將光標(biāo)移到需要?jiǎng)h除的行處按Ctrl+G顯示行號(hào),再到結(jié)尾處再按Ctrl+G,顯示文件結(jié)尾的行號(hào)。
—- :23,1045d 假定2次得到的行號(hào)為23和1045,則把這期間的內(nèi)容全刪除,也可以在要?jiǎng)h除的開始行和結(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í)際意義的字符,不是分隔符。
關(guān)于linuxvi剪切的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
四川成都云服務(wù)器租用托管【創(chuàng)新互聯(lián)】提供各地服務(wù)器租用,電信服務(wù)器托管、移動(dòng)服務(wù)器托管、聯(lián)通服務(wù)器托管,云服務(wù)器虛擬主機(jī)租用。成都機(jī)房托管咨詢:13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)、開啟建站+互聯(lián)網(wǎng)銷售服務(wù),與企業(yè)客戶共同成長(zhǎng),共創(chuàng)價(jià)值。
當(dāng)前名稱:輕松編輯文件:學(xué)會(huì)Linuxvi的剪切技巧(linuxvi剪切)
當(dāng)前網(wǎng)址:http://m.fisionsoft.com.cn/article/cohhohe.html


咨詢
建站咨詢
