麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > Ubuntu > 正文

Ubuntu工具:vi編輯器

2024-06-28 13:22:35
字體:
來源:轉載
供稿:網友
Ubuntu工具:vi編輯器Vi簡介Vi是“Visual interface”的簡稱,它在linux上的地位就仿佛Edit程序在DOS上一樣。它可以執行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據自己的需要對其進行定制,這是其他編輯程序所沒有的。Vi不是一個排版程序,它不象Word或wps那樣可以對字體、格式、段落等其他屬性進行編排,它只是一個文本編輯程序。Vi沒有菜單,只有命令,且命令繁多。Vi有三種基本工作模式:命令行模式、文本輸入模式和末行模式。1.命令行模式任何時候,不管用戶處于何種模式,只要按一下鍵,即可使Vi進入命令行模式;我們在shell環境(提示符為$)下輸入啟動Vi命令,進入編輯器時,也是處于該模式下。在該模式下,用戶可以輸入各種合法的Vi命令,用于管理自己的文檔。此時從鍵盤上輸入的任何字符都被當做編輯命令來解釋,若輸入的字符是合法的Vi命令,則Vi在接受用戶命令之后完成相應的動作。但需注意的是,所輸入的命令并不在屏幕上顯示出來。若輸入的字符不是Vi的合法命令,Vi會響鈴報警。

光標移動;

當我們按ESC進入Command模式后,我們可以用下面的一些鍵位來移動光標;

j 向下移動一行; k 向上移動一行; h 向左移動一個字符; l 向右移動一個字符; ctrl+b 向上移動一屏; ctrl+f 向下移動一屏; 向上箭頭 向上移動; 向下箭頭 向下移動; 向左箭頭 向左移動; 向右箭頭 向右移動;

我們編輯一個文件時,對于 j、k、l和h鍵,還能在這些動作命令的前面加上數字,比如 3j,表示向下移動3行。

文本輸入模式在命令模式下輸入插入命令i、附加命令a 、打開命令o、修改命令c、取代命令r或替換命令s都可以進入文本輸入模式。在該模式下,用戶輸入的任何字符都被Vi當做文件內容保存起來,并將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按鍵即可。i 在光標之前插入; a 在光標之后插入; I 在光標所在行的行首插入; A 在光標所在行的行末插入; o 在光標所在的行的上面插入一行; O 在光標所在的行的下面插入一行; s 刪除光標后的一個字符,然后進入插入模式; S 刪除光標所在的行,然后進入插入模式;文本內容的刪除操作;x 一個字符; #x 刪除幾個字符,#表示數字,比如3x; dw 刪除一個單詞; #dw 刪除幾個單詞,#用數字表示,比如3dw表示刪除三個單詞; dd 刪除一行; #dd 刪除多個行,#代表數字,比如3dd 表示刪除光標行及光標的下兩行; d$ 刪除光標到行尾的內容; J 清除光標所處的行與上一行之間的空格,把光標行和上一行接在一起;恢復修改及恢復刪除操作;u 撤消修改或刪除操作;

按ESC鍵返回Command(命令)模式,然后按u鍵來撤消刪除以前的刪除或修改;如果您想撤消多個以前的修改或刪除操作,請按多按幾次u。這和Word的撤消操作沒有太大的區別;

末行模式末行模式也稱ex轉義模式。Vi和Ex編輯器的功能是相同的,二者主要區別是用戶界面。在Vi中,命令通常是單個鍵,例如i、a、o等;而在Ex中,命令是以按回車鍵結束的正文行。Vi有一個專門的“轉義”命令,可訪問很多面向行的Ex命令。在命令模式下,用戶按“:”鍵即可進入末行模式下,此時Vi會在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個“:”作為末行模式的提示符,等待用戶輸入命令。多數文件管理命令都是在此模式下執行的(如把編輯緩沖區的內容寫到文件中等)。末行命令執行完后,Vi自動回到命令模式。例如::1,$s / A / a / g則從文件第一行至文件尾將大寫A全部替換成小寫a。若在末行模式下輸入命令過程中改變了主意,可按鍵,或用退格鍵將輸入的命令全部刪除之后,再按一下退格鍵,即可使Vi回到命令模式下。Vi的進入與退出Vi 的進入用戶登錄到系統中之后,系統給出提示符“$”。在提示符后鍵入Vi和想要編輯(或建立)的文件名,便可進入Vi。[例1] 鍵入命令:$ vi example.c如果只鍵入Vi,而不帶文件名,也可以進入Vi。之后在光標處鍵入文件內容,退出Vi時,只需在退出命令后輸入文件名即可。進入Vi之后,首先進入的就是命令模式,也就是說等待命令輸入而不是文本輸入。這時輸入的字母都將作為命令來解釋。光標停在屏幕第一行首位上(用 表示),其余各行行首均有一個“~”符號,表示該行為空行。最后一行也稱狀態行,顯示出當前正在編輯的文件名以及其狀態。如本例是[New File],表示example.c是一個新建的文件。如果example.c文件已在系統中存在,那么輸入上述命令后,則在屏幕上顯示出該文件的內容,并且光標停在第一行的首位,在狀態行顯示出該文件的文件名、行數和字符數。[例2] 鍵入命令:$ vi example.c注意,在這里我們為了節省篇幅起見,屏幕只顯示15行。事實上,初始的顯示行數與用戶所用終端有關,一般的CRT終端可顯示25行。在窗口系統中,顯示行數與運行Vi的那個窗口有關。然而我們可以對顯示行數進行設置。例如,在能顯示25行的CRT終端上,讓Vi只顯示15行。設置的方法將在本節后面介紹。當用Vi建立一個新文件時,在進入Vi的命令中也可以不給出文件名,當編輯完文件需要保存數據時,再由用戶指定文件名。進入Vi時,用戶不僅可以指定一個待編輯的文件名,而且還有許多附加操作。如果希望在進入Vi之后,光標處于文件中特定的某行上,可在Vi后加上任選項+n,其中n為指定的行數。[例3] 鍵入命令:$ vi +5 example1.c光標將位于文件example1.c中的第5行上。使用Vi可以同時編輯多個文件,只要在進入Vi的命令中寫入所要操作的文件即可,還可以使用通配符。[例5] 鍵入命令:$ vi *.cat就可以編輯所有后綴為cat的文件了。當然,您還可以使用shell中內置的模式匹配來裝載文件,這樣會更富技巧性。一旦您在命令行中包含了所有的待編輯文件名,就可以在Vi中方便地移來移去。退出Vi當編輯完文件,準備退出Vi返回到shell時,可以使用以下幾種方法之一。在命令模式中,連按兩次大寫字母Z,若當前編輯的文件曾被修改過,則Vi保存該文件后退出,返回到shell;若當前編輯的文件沒被修改過,則Vi直接退出, 返回到shell。在末行模式下,輸入命令:wVi保存當前編輯文件,但并不退出,而是繼續等待用戶輸入命令。在使用w命令時,可以再給編輯文件起一個新的文件名。[例6]:w newfile此時Vi將把當前文件的內容保存到指定的newfile中,而原有文件保持不變。若newfile是一個已存在的文件,則Vi在顯示窗口的狀態行給出提示信息:File exists (use ! to override)此時,若用戶真的希望用文件的當前內容替換newfile中原有內容,可使用命令:w! newfile否則可選擇另外的文件名來保存當前文件。在末行模式下,輸入命令:q系統退出Vi返回到shell。若在用此命令退出Vi時,編輯文件沒有被保存,則Vi在顯示窗口的最末行顯示如下信息:No write since last change (use ! to overrides)提示用戶該文件被修改后沒有保存,然后Vi并不退出,繼續等待用戶命令。若用戶就是不想保存被修改后的文件而要強行退出Vi時,可使用命令:q!Vi放棄所作修改而直接退到shell下。在末行模式下,輸入命令:wqVi將先保存文件,然后退出Vi返回到shell。在末行模式下,輸入命令:x該命令的功能同命令模式下的ZZ命令功能相同。

恢復修改及恢復刪除操作;

u 撤消修改或刪除操作;

按ESC鍵返回Command(命令)模式,然后按u鍵來撤消刪除以前的刪除或修改;如果您想撤消多個以前的修改或刪除操作,請按多按幾次u。這和Word的撤消操作沒有太大的區別;

可視模式;

在最新的Linux發行版本中,vi提供了可視模式,因為這個功能是vim才有的。如果您用的vi沒有這個功能,就換成vim就有了。打開可視模式,按ESC鍵,然后按v就進入可視模式;

可視模式為我們提供了極為友好的選取文本范圍,以高亮顯示;在屏幕的最下方顯示有;

-- 可視 -- 或 --VISUAL--

如圖:

進入可視模式,我們就可以用前面所說的命令行模式中的光標移動指令,可以進行文本范圍的選取。

選取文本范圍有何用?

我們可以對某部份刪除作業,按d鍵就刪除了我們選中的內容。 選中內容后,我們按y就表示復制;按d表示刪除;

值得一提是的刪除的同時,也表示復制。我們返回到命令模式,然后移動光標到某個位置,然后按shift+p鍵,就把剛才刪除的內容貼上了。我們先在這里提一句,在后文,我們還得詳細說說。

退出可視模式,還是用ESC鍵;

3.9 復制和粘帖的操作;

其實刪除也帶有剪切的意思,當我們刪除文字時,可以把光標移動到某處,然后按shift+p鍵就把內容貼在原處,然后再移動光標到某處,然后再按p或shift+p又能貼上;

p 在光標之后粘帖; shift+p 在光標之前粘帖

來舉一例:

比如我們想把一個文檔的第三行復制下來,然后帖到第五行的后面,我們應該怎么做呢?

有兩種方法;

第一種方法:

先把第三行刪除,把光標移動到第三行處,然后用dd動作,接著再按一下shift+p鍵。這樣就把剛才刪除的第三行帖在原處了。

接著我們再用k鍵移動光標到第五行,然后再按一下p鍵,這樣就把第三行的內容又帖到第五行的后面了;

第二種方法;

進入可視模式,按ESC鍵,然后按v鍵。移動鼠標指針,選中第三行的內容,然后按y鍵復制;再移動指針到第五行,最后按p鍵;

所以復制和粘貼操作,是命令模式、插入模式及可視模式的綜合運用;我們要學會各種模式之間的切換,要常用ESC鍵;更為重要的學會在命令模式下移動光標;

關于行號;

有時我們配置一個程序運行時,會出現配置文件X行出現錯誤 。這時我們要用到行號相關的操作;

為所有內容添加行號;

按ESC鍵,然后輸入:

:set number

光標所處位置

在屏幕的右下角,有類似如下的;

57,8 27%

在這之中,57表示第57行,8表示第8個字符;

查找和替換功能;

查找;

首先,我們要進入ESC鍵,進入命令模式;我們輸入/或?就進入查找模式了;

/SEARCH 注:正向查找,按n鍵把光標移動到下一個符合條件的地方; ?SEARCH 注:反向查找,按shift+n 鍵,把光標移動到下一個符合條件的

舉一例:比如我想在一個文件中找到swap單詞,我應該如下做;

首先按ESC鍵,進入命令模式,然后輸入;

/swap 或 ?swap

替換;

按ESC鍵進入命令模式;

:s /SEARCH/REPLACE/g 注:把當前光標所處的行中的SEARCH單詞,替換成REPLACE,并把所有SEARCH高亮顯示; :%s /SEARCH/REPLACE 注:把文檔中所有SEARCH替換成REPLACE; :#,# s /SEARCH/REPLACE/g 注:#號表示數字,表示從多少行到多少行,把SEARCH替換成REPLACE;

注:在這之中,g表示全局查找;我們注意到,就是沒有替換的地方,也會把SEARCH高亮顯示;


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日日草夜夜草 | 玩偶姐姐 在线观看 | 91成人免费在线观看 | 中文字幕电影免费播放 | 国产韩国精品一区二区三区久久 | 国产成人精品二区 | 午夜视频导航 | 国产精品久久久免费观看 | 久色一区 | 好吊色欧美一区二区三区四区 | 福利在线免费视频 | 欧美成人精品一区二区 | 亚洲精品久久久久久下一站 | 久久精品视频黄色 | 久久看视频 | 国产精品一区在线免费观看 | 欧美精品毛片 | 久久一区二区三区av | 午夜爽爽爽男女免费观看hd | 国产精品国产三级国产在线观看 | 女人叉开腿让男人桶 | 久久久综合久久久 | 国产美女视频一区二区三区 | 看免费毛片 | 国产午夜亚洲精品 | 久久成人国产精品入口 | 欧美成人高清视频 | 国产黄色录像片 | www.com超碰 | 91九色网 | 极品大长腿啪啪高潮露脸 | 欧美成人精品欧美一级乱黄 | 国产精品久久久不卡 | 国产精品久久二区 | 欧美精品一区二区久久久 | 久久精品欧美视频 | 99热久草| 久久99精品久久久久久久久久久久 | 欧美a v在线| 色婷婷久久久亚洲一区二区三区 | 国产免费高清在线视频 |