国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
vi大全
vi大全

  xp

  交換兩個字符位置

  ddp

  上下兩行調(diào)換

  J

  上下兩行合并

  dG

  刪除所有行

  d$

  從當前位置刪除到行尾

  y$

  從當前位置復(fù)制到行尾, 如果要粘貼到其他地方 p 就可以了

  :ab string strings

  例如 ":ab usa United States of America" ,

  當你在文見里插入 usa 時

  United States of America 就蹦出來了

  :g/^/m0

  把文件內(nèi)容反轉(zhuǎn)

  :map keys new_seq

  定義你當前 鍵盤命令

  :set [all]

  vi or ex 的編輯狀態(tài)

  如 顯示每行 :set nu

  :X

  然后系統(tǒng)會提示輸入密碼, 輸入密碼后存盤退出, 保存后就加密了

  下次編輯時使用vi -x filename, 系統(tǒng)會提示你輸入密碼

  在命令狀態(tài)下,nyy表示拷貝從光標行起的下n行內(nèi)容,p表示paste,粘貼下來在光標處。

  我常用到的單個字符替換用r,覆蓋多個字符用R,用多個字符替換一個字符用s,整行替換用S

  :%s/old_word/new_word/g

  這個指令是于在整個文件中替換特定字符串

  將光標移到第n行,按下 mk

  將光標移到第m行,按下 "ay'k

  即將第n到m的行存到a寄存器,以此類推,b,c........寄存器等

  不好意思,補充一下,想粘貼到某處,直接將光標移到某地,按下 ‘ap 即可

  刪除命令操作

  d l 刪除當前字符(與x命令功能相同)

  d 0 刪除到某一行的開始位置

  d ^ 刪除到某一行的第一個字符位置(不包括空格或TA B字符)

  d w 刪除到某個單詞的結(jié)尾位置

  d 3 w 刪除到第三個單詞的結(jié)尾位置

  d b 刪除到某個單詞的開始位置

  d W 刪除到某個以空格作為分隔符的單詞的結(jié)尾位置

  d B 刪除到某個以空格作為分隔符的單詞的開始位置

  刪除命令操作

  d 7 B 刪除到前面7個以空格作為分隔符的單詞的開始位置

  d) 刪除到某個語句的結(jié)尾位置

  d 4) 刪除到第四個語句的結(jié)尾位置

  d( 刪除到某個語句的開始位置

  d } 刪除到某個段落的結(jié)尾位置

  d { 刪除到某個段落的開始位置

  d 7 { 刪除到當前段落起始位置之前的第7個段落位置

  d d 刪除當前行

  d /t e x t 刪除從文本中出現(xiàn)“ t e x t”中所指定字樣的位置,一直向前直到下一個該字樣所出現(xiàn)的

  位置(但不包括該字樣)之間的內(nèi)容

  d fc 刪除從文本中出現(xiàn)字符“c”的位置,一直向前直到下一個該字符所出現(xiàn)的位置(包括

  該字符)之間的內(nèi)容

  d tc 刪除當前行直到下一個字符“ c”所出現(xiàn)位置之間的內(nèi)容

  D 刪除到某一行的結(jié)尾

  d $ 刪除到某一行的結(jié)尾

  5 d d 刪除從當前行所開始的5行內(nèi)容

  d L 刪除直到屏幕上最后一行的內(nèi)容

  d H 刪除直到屏幕上第一行的內(nèi)容

  d G 刪除直到工作緩存區(qū)結(jié)尾的內(nèi)容

  d 1 G 刪除直到工作緩存區(qū)開始的內(nèi)容

  修改命令操作

  c l 更改當前字符

  c w 修改到某個單詞的結(jié)尾位置

  c 3 w 修改到第三個單詞的結(jié)尾位置

  c b 修改到某個單詞的開始位置

  c W 修改到某個以空格作為分隔符的單詞的結(jié)尾位置

  c B 修改到某個以空格作為分隔符的單詞的開始位置

  c 7 B 修改到前面7個以空格作為分隔符的單詞的開始位置

  c 0 修改到某行的結(jié)尾位置

  c) 修改到某個語句的結(jié)尾位置

  c 4) 修改到第四個語句的結(jié)尾位置

  c( 修改到某個語句的開始位置

  c } 修改到某個段落的結(jié)尾位置

  c { 修改到某個段落的開始位置

  c 7 { 修改到當前段落起始位置之前的第7個段落位置

  c tc 修改當前行直到下一個字符c所出現(xiàn)位置之間的內(nèi)容

  C 修改到某一行的結(jié)尾

  c c 修改當前行

  5 c c 修改從當前行所開始的5行內(nèi)容

  替換命令操作

  s 將當前字符替換為一個或多個字符

  S 將當前行替換為一個或多個字符

  5 s 將從當前字符開始的5個字符替換為一個或多個字符

  下載

  vi替換使用規(guī)則:

  :g/s1/s/s2/s3/g

  第一個g表示對每一個包括s1的行都進行替換,第二個g表示對每一行包括s1的行所有的s2都用s3替換

  s表示替換,s2是要被替換的字符串,他可以和s1相同(如果相同的話用//代替),s3是替換字符串

  fx

  往右移動到 x 字符上

  Fx

  往左移動到 x 字符上

  tx

  往右移動到 x 字符前

  Tx

  往左移動到 x 字符后

 ?。ㄗ⒁猓阂陨纤膫€命令中,其中x是鍵入的字符)

  ;

  分號,配合 f 和 t 使用,重復(fù)一次

  ,

  逗號,配合 f 和 t 使用,反方向重復(fù)一次

  建議誰把 :set all 出來的參數(shù)及其用法說明一下。注意注明UNIX平臺,我發(fā)現(xiàn)幾個平臺下有些差異。

  加密碼我在8 上(bsh) 實驗成功 所以大家最好還是加上 環(huán)境??!

  vi 環(huán)境選項 Solaris ksh

  noautoindent nomodelines noshowmode

  autoprint nonumber noslowopen

  noautowrite nonovice tabstop=8

  nobeautify nooptimize taglength=0

  directory=/var/tmp paragraphs=IPLPPPQPP LIpplpipnpbtags=tags /usr/lib/tags

  noedcompatible prompt tagstack

  noerrorbells noreadonly term=vt100

  noexrc redraw noterse

  flash remap timeout

  hardtabs=8 report=5 ttytype=vt100

  noignorecase scroll=11 warn

  nolisp sections=NHSHH HUuhsh+c window=23

  nolist shell=/bin/ksh wrapscan

  magic shiftwidth=8 wrapmargin=0

  mesg noshowmatch nowriteany

  For C-Shell:

  setenv EXINIT "set nu"

  For Bourne or Korn Shell:

  EXINIT="set nu"; export EXINIT

  For Korn Shell Only (alternate method):

  typeset -x EXINIT="set nu"

  在 .profile 里設(shè)置 vi 的環(huán)境選項 , 以上均測試過

  怎么沒有介紹標記的,做標記對那種大的程序文件閱讀十分有幫助。

  建議大家使用。

  標記文本

  mchar

  用字母char標記當前光標的位置

  `char

  移至char所標記處

  'char

  移至char標記所在行的開頭處

  "

  移至當前行上一次所在位置(在光標移動之后)――一個雙引號

  ''

  移至當前行上第一次所在位置的行的開頭處(在光標移動之后)――兩個單引號

  .重復(fù)上一次修改!

  大家都說了這么多了,我也來說兩句

  在當前屏幕中

  H 跳到第一行

  M 跳到中間一行

  L 跳到最后一行

  同時vi多個文件時,CTRL-SHIFT-6回到上一個文件,在本次vi的文件和上次vi的文件之間切換。其實就是一些文檔寫的 ^^

  但是我發(fā)現(xiàn)一個BUG:在用CTRL-SHIFT-6切換到上一個文件后,用:args查看多文件vi狀態(tài)時,屏幕底部仍然顯示目前vi的是剛才的文件。

  (在HP-UX,Solaris,AIX上通過)

  還是使用

  :e#

  切換比較好,呵呵

  %s/^/要加的內(nèi)容/g 要在文本后同樣的字符加

  %s/$/要加的內(nèi)容/g vi的使用確實太多,大家多多總結(jié)交流?。?!

  追加到緩沖區(qū)

  對于已經(jīng)有內(nèi)容的緩沖區(qū),可以繼續(xù)追加內(nèi)容在其后面,例如:

  "Ad4w 刪除光標后4個字,并附加到緩沖區(qū)a

  "Ay) 取樣從光標到文件尾的內(nèi)容,并附加到緩沖區(qū)a

  "K3yy 取樣從光標所在行起的3行內(nèi)容,并附加到緩沖區(qū)k

  注意:在追加緩沖區(qū)的命令中,原緩沖區(qū)的名字一定要大寫,才能將內(nèi)容追加進去,否則是覆蓋原緩沖區(qū)的內(nèi)容。追加內(nèi)容在原緩沖區(qū)末尾另起一行。

  清理掉DOS文本中的^M可以在:1,$s/^M//g,其中^M是CTRL+V, CTRL+M。

  刪除從當前行開始到最后一行的所有內(nèi)容

  :.,$d

  在:命令行模式下,首先可以確定命令的范圍

  .表示當前行;數(shù)字表示行號,如1表示第一行,2表示第二行;$表示最后一行

  范圍用,分隔

  然后用命令

  d表示刪除,y表示復(fù)制......大家都知道的

  最后說一句,%表示全文

  :%d

  是刪除全文

  給“南非蜘蛛”補充一下,hehe

  在:命令行模式下,首先可以確定命令的范圍

  .表示當前行;數(shù)字表示行號,如1表示第一行,2表示第二行;$表示最后一行

  范圍用,分隔

  ...

  慎用:$d

  :$d 只是刪除最后一行嘛,用錯了還不算最壞的結(jié)果,呵呵

  請教aix,ksh下:

  一行>=2048個字符時,無法顯示,怎么辦?

  在vi中好像應(yīng)該沒有什么辦法了,這是vi的Program Limits中的Maximum Line Length限制。試一試用UltraEdit讀讀看吧

  有的環(huán)境不能用uedit

  可以折行嗎?

  折行

  :set wrapmargin=4

  下面引用由bjchenxu在 2002/09/05 09:07am 發(fā)表的內(nèi)容:

  折行

  :set wrapmargin=4

  怎么解釋?結(jié)果如何?

  不行呀

  A line cannot be longer than 2048 characters.

  我的只能解決顯示問題,如果說vi里不能存放這么多字符,就比較麻煩了

  另外問一句,2048個字符已經(jīng)夠長了,為什么要放更多的,沒準我們可以從源頭上解決問題

  老外的程序的log文件,有些行就這么長,以至于影響了后面行的顯示;

  more,pg等可以折行

  我還是不會用:X加密,能不能說的詳細一點,:X后,提示輸入key:然后呢?mark what 后輸入什么呢,下次如何在打開呢?more 可以正??磫?

  xiexie!

  你使用的什么平臺的UNIX呢?我從來沒有見到mark what出現(xiàn)過啊

  more是不能正??吹?,用vi -x filename,然后輸入密碼就可以了

  好像再另存不了不加密的了

  用 :wq 或者 :wq! 另存

  請高手指點迷精:vi中如何在每行的倒數(shù)第二個字符處插入一個字符??

  把Tab全部換成回車,應(yīng)該怎么作???

  :1,$ s/ /

  /g

  不行

  ^M (Ctrl+V+M)就是回車。

  vi加密不同的unix可能不同.

  俺在HP-UX下,用X加密的文件只輸key(密鑰).

  vi -C 文件名,便會要求輸入密鑰,如正確,便打開了.

  littletiger的意思是不是這樣:

  以HP-UX為例

  1、加密

  vi file

  :X

  (Are you sure?(y/n)[n]:)回答y

  輸入密碼回車以后再保存,就加密成功了

  2、解密

  vi -C file 或者 vi -x file

  在 Key: 后面輸入密碼進入file

  :X

  (Are you sure?(y/n)[n]:)回答y

  直接回車以后再用 wq 或者 wq! 保存,就把file解密成功了

  :set number

  顯示行號

  :g/$/s// ABC/g

  :g/^/s//def /g

  在文本每行的頭和尾添加字符串.

  用vi進行coding時的使用技巧:

  用ctags命令對當前目錄下的c源程序掃描,生成tags文件

  $ ctags *.c

  這樣,在vi里通過命令

  :ta fun_name

  就可以直接打開函數(shù)fun_name所在的文件,并將光標置于函數(shù)開頭

  :n,n1 d

  n和n1都是行數(shù), d是刪除這些行 .表示當前的行。

  : n

  n是行數(shù),直接轉(zhuǎn)到n行。

  : r 文件名

  把文件添加到當前的文件中

  :n,n1 w 文件名

  把從n行到n1行寫道另外一個文件中

  查找:

  在一個單詞上用*,就向下查找此單詞,#是向上

  用/查找hello,就不會查找到hello_world(用此替換也很好用)

  替換:

  如有一文件,內(nèi)容為:

  aa

  bb

  cc

  dd

  用:%s/.*/printf("& is :%d

  ",&)/

  文件內(nèi)容為變?yōu)椋?br>
 rintf("aa is :%d

  ",aa)

  printf("bb is :%d

  ",bb)

  printf("cc is :%d

  ",cc)

  printf("dd is :%d

  ",dd)

  &為查找到的內(nèi)容

  用:~為重復(fù)上一次替換

  用系統(tǒng)命令編輯:

  如有一文件,內(nèi)容為:

  333

  222

  334

  444

  111

  553

  554

  233

  運行命令:%!sort 文件內(nèi)容為:

  111

  222

  233

  333

  334

  444

  553

  554

  用此方法可以使用許多系統(tǒng)命令進行編輯,大家可以靈活運用

  其他特殊用法:

  用q: 看一看有什么

  用? 可以編輯你用過的命令

  程序中在一個調(diào)用函數(shù)(如:printf)上用K,可以直接調(diào)出printf的幫助

  ctrl+f向下翻頁,ctrl+b向上翻頁(對于telnet上去的時候比較有用)

  1. vi中設(shè)置tab鍵的空格數(shù):

  :set ts=4

  :set sw=4

  將此兩句話加到當前用戶目錄的文件.vimrc中,這樣當前用戶用vi的時候就會啟動該設(shè)置

  2.拷貝:

  將第2行到第9行的字copy到第11行

  :2,9 co 10

  將第2行到第9行的字move到第11行

  :2,9 m 10

  3.設(shè)置行號:

  :se nu

  取消行號:

  :se nonu

  4.當前行與下一行換位置:ddp

  5.當前字與后面的字換位置:xp

  用vi替換文件中的字符串

  在vi界面下使用命令

  :%s#/usr/bin#/bin#g

  可以把文件中所有路徑/usr/bin換成/bin。也可以使用命令:

  :%s/usr/bin/bin/g

  其中“”是轉(zhuǎn)義字符,表明其后的“/”字符是具有實際意義的字符,不是分隔符。

  請問 vi 中的刪除緩沖區(qū)是怎么回事?

  看到有一個資料說到:

  “vi還有有編號的刪除緩沖區(qū)。撤消命令只能恢復(fù)上一次的刪除,當且僅當這個刪除是最后一次操作。但是,vi可以把最近9次刪除的內(nèi)容都放入9個編號從1到9的緩沖區(qū)內(nèi)。最近一次刪除保存在緩沖區(qū)1,次近的在緩沖區(qū)2,依此類推。例如,"2p可以放置第二個刪除緩沖區(qū)中的內(nèi)容。”

  但是我沒有操作成功,請教各位。

  既然是vi的問題,我義不容辭

  準備文件test

  1

  2

  3

  4

  5

  將光標定位在5上,連按5次dd

  然后鍵入

  "5p

  "4p

  "3p

  "2p

  "1p

  看看發(fā)生了什么

  明白了?

  要注意"

  謝謝你們的解釋!

  再問,是否只有刪除的整行可以保存在刪除緩沖區(qū)中?比如刪除的字符呢?

  字符也可以,用整行只是為了讓你好學(xué)

  自己試試吧,找葫蘆畫瓢吧

  wo 我照呢說得作的 可是恢復(fù)的是5個1 啊 怎么回事 (solaris8)

  比如在一行中連按5次dw,會將5個詞依次放入1~5的寄存器中嗎?我沒有試驗成功,總提示寄存器為空。

  [這個貼子最后由goodboy在 2002/08/22 09:29am 編輯]

  bjchenxu,能否把VI使用高級技巧的方法給大家講一講呀:)

  很多的,比如:怎么一個文件中的幾行保存到另外一個文件中了,

  或者把另外一個文件的插入到指定內(nèi)容的行后面了或者我在vi中拷貝

  A文件的某5行(Esc下5yy拷貝),然后再:e b文件,怎么把A文件的5行拷過來?

  然后又怎么回到原先的A文件中?

  高級技巧太多太多,建議大家找本版valentine斑竹要書看,呵呵

  你說的幾個問題我先回答一下:

  1. 將一個文件中的幾行保存到另外一個文件中了

  1.1 $vi file1

  1.2 :3,5 y a

  1.3 :e file2

  1.4 "ap

  2. 將另外一個文件插入到指定內(nèi)容的行后面

  2.1 $vi file1

  2.2 :/regularexpress/ r file2

  3. 兩個文件的切換和拷貝

  3.1 $vi file1 file2

  3.2 :3,5 y a

  3.3 :e#

  3.4 "ap

  3.5 :e#

  在vim里面查看man頁面

  在進入vim后按??:”號,輸入

  source $VIMRUNTIME/ftplugin/man.vim

  然后再按“:”號,輸入

  nmap K :Man

  然后在vim里面輸入你要的命令,在這個命令上按K,就可以看到經(jīng)vim處理過后的man頁。

  用vi在整個文件的各行或某幾行的行首或行尾加一些字符串

  $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。

  用vi刪除大段的內(nèi)容

  首先利用編輯命令“vi file”打開文件, 然后將光標移到要刪除的行處按Ctrl+G顯示行

  號,再到結(jié)尾處再按Ctrl+G,顯示文件結(jié)尾的行號。

  例如:

  :23,1045d

  假定2次得到的行號為23和1045,則把這期間的內(nèi)容全刪除, 也可以在要刪除的開始行和

  結(jié)束行中用ma、mb命令標記,然后利用“:'a,'bd”命令刪除。

  用vi實現(xiàn)“另存為”功能

  $vi file

  :w /tmp/1

  保存所做的所有修改,也可以將其中的某一部分修改保存到臨時文件。

  如果僅僅把第20~59行之間的內(nèi)容存盤成文件/tmp/1,我們可以鍵入如下命令:

  :20,59w /tmp/1

  用vi在一個新文件中讀其他文件的內(nèi)容

  $vi file

  :r /etc/passwd 在打開的文件file中光標所在處讀入/etc/passwd

  :%s/:.*//g 刪除/etc/passwd中用戶名后面的從冒號開始直到行尾的所有部分。

  您也可以在指定的行號后讀入文件內(nèi)容,例如使用命令:

  :3r /etc/passwd

  從新文件的第3行開始讀入 /etc/passwd的所有內(nèi)容。

  我們還可以使用以下方法刪掉文件中所有的空行及以#開始的注釋行。

  $cat squid.conf.default | grep -v '^$' | grep -v '^#'

  用vi拷貝一個文件中的文本并粘貼到另一個文件中

  $vi file1 file2

  然后在vi界面下:

  yy <-在文件1的光標處拷貝所在行

  :n <-切換到文件2 (n=next)

  p <-在文件2的光標所在處粘貼所拷貝的行

  :n <-切換回文件1

  使用vim對被編輯文件加密

  在VIM當中要對所編輯的文件進行簡單加密,可以在命令行模式下鍵入“:X”(無括號,

  只有冒號和X)然后在提示“Enter the encrypt key”時輸入口令字串就可以加密了。但是別

  忘了要保存哦!保存的時候會發(fā)現(xiàn)在屏幕底部有“[crypted]”這樣的字樣。 下次打開該加密

  文件會要求您輸入口令字串,這個總該記得的吧?

  設(shè)置vim自動顯示行號

  在每個用戶的主目錄下,都有一個 vi 的配置文件".vimrc"或".exrc", 用戶可以編輯它,

  使這些設(shè)置在每次啟動 vi 時,都有效。

  例如,加入如下設(shè)置行:

  set nu 顯示行號

  set nonu 不顯示行號

  set ic 查找時不考慮大小寫

  set noic 查找時考慮大小寫

  在vi里搜索關(guān)鍵字

  當你用vi打開一個文件后,因為文件太長,如何才能找到你所要查找的關(guān)鍵字呢?在vi里

  可沒有菜單-〉查找,不過沒關(guān)系,你在命令模式下敲斜桿(/)這時在狀態(tài)欄(也就是屏幕左下

  角)就出現(xiàn)了 “/”然后輸入你要查找的關(guān)鍵字敲回車就可以了。

  如果你要繼續(xù)查找此關(guān)鍵字,敲字符n就可以繼續(xù)查找了。值得注意的是“/”是向下查找,

  而“?”是向上查找,而在鍵盤定義上“?”剛好是“/”的上檔符。

  用彩色的vi寫程序

  修改$HOME中的.vimrc,把color值設(shè)為true

  把環(huán)境變量VIMRUNTIME設(shè)成vim的路徑名

  例:/usr/share/vim

  在vi中鍵入

  :syntax on回車

  :so $VIMRUNTIME/syntax/java.vim回車(現(xiàn)在版本的vi支持無數(shù)程序語法色彩檔,都在

  syntax/下,看一眼吧:))

  如果不喜歡所用的xterm背景色,可以用xterm -bg LightBlue(或其他喜歡的顏色)啟動,

  或者修改.Xresouce的xterm background項。

  vi -o xxx.java xxxx.java

  vi

  例如:Esc鍵在vi中輸入ctrl+v與Esc為^[

  請問Delete鍵在vi中如何輸入?

  d

  空一行

  [Ctrl+V][Del]

  輸這個鍵有什么用啊

  輸不進去

  我想在shll里自動telnet到另一臺機器終止.profile(自動運行了程序)執(zhí)行,好執(zhí)行我在shll中的一些命令。

  輸不進去

  這種情況是因為DEL在您的終端上被定義成某個中斷鍵,中斷是被操作系統(tǒng)優(yōu)先處理的。

  使用stty -a 可以顯示出DEL被哪個中斷所用。

  以下是兩種解決方法:

  1。使用“stty 中斷名 新的中斷鍵”形式改變中斷鍵設(shè)置,然后調(diào)用vi,再使用ctrl+V的方法。如:stty intr ^E;vi

  2。使用一個shell腳本myvi:stty raw ;vi $*;stty -raw

  調(diào)用myvi

  還有一種變通的解決方法,DEL鍵的ascii碼應(yīng)該是^?,0x7f,
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VIM命令模式與輸入模式切換
Vim編輯器的基本使用
Linux上vi(vim)編輯器使用教程
vim使用命令大集合
vi詳細教程
vim編輯器幾個基本的命令
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服