【转】vi编辑器中如何复制粘贴文本
vi中多個文件相互之間的復制、粘貼功能簡介
大家在vi編輯中,常常遇到想把文件A里面的一行或多行,復制到B文件里面去
(可能很多人不知道怎么辦),該怎么做了?
下面是幾中方法:
1.如果你有多臺機器,而且是聯網的,你可以用netterm虛擬終端,telnet登陸主機對A文件進行修改、復制,然后打開B文件粘貼過去!
2.如果是單機,當然要用unix自帶的編輯功能呢
先簡單介紹一些vi編輯里的命令:
(A).yw 將當前字存入無名緩沖區,前面可加"x,表示存入名字為x的有名
緩沖區(x為a-z),也可加數字表示存入的字數,以后可用P或p命
令取出
yy 將當前行存入無名緩沖區,用法參看yw
(B).命令如下:a-Z 是緩沖區,也可移出數字1-9指定的刪除緩沖區
利用命名緩沖區可很好地保存若干文本段,便于以后存取、移動或者重排。這些緩沖區用a到z字母命名!為了訪問這些緩沖區中的一個,要使用雙引號
例如:要把一行插入a緩沖區,可鍵入:
"ayy
為了把這個文本放回該文件中,鍵入"ap
(c).m做標志命令:
m 字母 用字母標記當前行,以后可用 '字母使光標移動到當前行,
(參看'命令)
列子:1。將a文件中的4行到b文件中
命令如下:"ay4+
:ex b (轉到b文件中)
然后"ap
2. 將a中多行復制到b文件中
先在開始處做標志mk
然后在末尾用"ay'k (光標自動回到開始處,此時已經把你的內容放到緩沖區了)
其中a表示緩沖區a
然后用ex轉義到你的文件B中,然后用"ap命令粘貼就行
3。如果你文件中有多次要復制粘貼的話,看下面:
a表示緩沖區a ,你還繼續可以使用緩沖b嗎
緩沖區有a-z和1-9這么多
緩沖區就好象windows下的煎切版一樣,它有好多個,你可以把你想要的復制進去,然后粘貼,只不過你用"ay時候多換a就是了,如你要復制462行用"ay ,復制536行用"by
vi編輯器中如何復制粘貼文本
用了很久vi,一直不知道怎么使用剪貼功能。昨天補了一下課:
在GUI下:可按i進入插入模式,使用鼠標拖動反選要粘貼的內容,將光標移到要粘貼處,按鼠標中鍵(兩鍵鼠標可同時按左右鍵)。
在純文本終端下:
選定文本塊,使用v
復制選定塊到緩沖區,使用y
復制整行,用yy
在同一編輯窗打開第二個文件,用:sp [filename]
在多個編輯文件之間切換,用^ww
剪切塊,用d
剪切整行用dd
粘貼緩沖區中的內容,用p
命令前面加數字表示重復次數,加字母表示使用的緩沖區名稱。
獲取幫助,用:help [內容或命令]
在vi編輯器有一個寄存器的概念(concept of register),正是這個概念使我們可以進行多次的剪切和粘貼操作。在一般的編輯器中我們被限制只有一個剪切板可用,而在vi中最多時可以有26個剪切板供使用,這樣就會大大的提高工作的效率。
在 vi中,我們可以使用d或x來刪除文本,但是經過這樣操作所刪除掉的文本并沒有被vi所丟棄,而是被保存起來。我們可以使用p命令來粘貼剛剛所刪掉的內 容。下面來看看他是如何工作的。首先在vi中隨意的輸入幾行,然后移動到其中的一行,用dd命令來刪掉一行。如何叫他再回來?我們可以將光標移到任意的地 方,然后用p命令,就會看到剛才被刪除掉的內容又回來了。
使用x命令刪除的東西也可以粘貼回來。所不同的是,用dd刪除一行再用p命令 時是在當前光標的下一行粘貼,而刪除一個單詞再用p命令來粘貼時是在當前光標處粘貼。有了這樣的命令,我們就可以來處理輸入錯誤的單詞了。例如我們不小心 將the輸入成了teh,這時可以將光標移到e的位置,用x命令刪掉,再用p命令粘貼回來,這時就會發現輸入正是我們想要的了。
p命令可以在一個文件中使用幾次,每一次都可以將剛刪除的內容重新粘貼在所希望的地方。當然這個命令也可以使用數字做前綴,明確的指出所要執行的次數。
當 我們插入文本行時,可以使用p命令或是P命令。所不同的是,p命令是在當前行的下一行進行插入,插入后光標移動到新行的開頭處。而P命令是在當前的上一行 進行插入,插入后光標移到新行的下一行的開頭處。我們還可以使用gp或gP命令。不同的是,gp命令是將光標移動到新行的下一行的開頭處。而gP是在當前 的上一行進行插入,插入后光標移動新行的下一行的開頭處。
在vi中y命令也可以進行復制操作。yw命令可以復制一個單詞。yy命令可以 復制一行,然后我們可以用p命令來粘貼。我們也可以使用Y命令來復制一行,或是用數字做前綴來明確的指明復制幾行,然后用p命令粘貼到我們所希望的地方。 y$命令可以復制從當前光標到本行結尾的所有字符。
使用標記
在使用vi進行編輯時,我們可以對某一行進行標記。將光標移到某一行,用命令ma來進行標記。在這里m是標記的命令,a是對這一行所做標記的名稱,當然也可以使用26個字母中的任意一個做為標記名稱。
在做了標記以后,我們可以用'a命令快速移到剛才所做標記的那一行的行首。這里'是單引號。也可以使用`a來移到所做標記時的光標所在位置,這里`是反引號(也就是數字鍵1左邊的那一個)。
我們可以用:marks命令列出所有的標記。這其中也包括一些特別的標記(Special marks)。
如果我們將做了標記的那一行刪除,那么所做的標記也就不存了。我們用標記不僅可以快速的移到做了標記的行,而且還可以用標記來刪除掉一行,例如在某一行用ma做了標記,然后就可以用d'a來刪掉這一行。我們也可用y'a命令就可以來復制這一行了。
總結
以上是生活随笔為你收集整理的【转】vi编辑器中如何复制粘贴文本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]Vi 教程(Unix行编辑器)
- 下一篇: [转] ubuntu 无线网络 配置 v