新手指南:Linux上vi(vim)編輯器使用教程

vi(vim)是上Linux很是經常使用的編輯器,不少Linux發行版都默認安裝了vi(vim)。vi(vim)命令繁多可是若是使用靈活以後將會大大提升效率。vi是「visual interface」的縮寫,vim是vi IMproved(加強版的vi)。在通常的系統管理維護中vi就夠用,若是想使用代碼加亮的話可使用vim。下面vps偵探整理一下vi的使用教程:包含vi的基本介紹、使用模式、文件的打開關閉保存、插入文本或新建行、移動光標、刪除、恢復字符或行、搜索等等,算是一篇比較適合新手學習vi的教程。python

vi有3個模式:插入模式、命令模式、低行模式。linux

●插入模式:在此模式下能夠輸入字符,按ESC將回到命令模式。vim

●命令模式:能夠移動光標、刪除字符等。緩存

●低行模式:能夠保存文件、退出vi、設置vi、查找等功能(低行模式也能夠看做是命令模式裏的)。編輯器

 

 

一、VI或VIM的配置文件的路徑學習

  發現/usr/share/vim/vimrc和/etc/vim/vimrc指向是同一個文件,即vimrc,爲vi和vim的配置文件,修改這個文件便可。這個路徑在不一樣的LINUX版本中可能會不一樣。spa

  二、配置顏色.net

  配置VI和VIM的顏色顯示,使它可以高亮度顯示一些特別的單詞,這對編寫程序頗有用。後來打開文件發現裏面其實已經有一行了,只是用引號註釋掉了,只需將syntax on 所在行前面的引號去掉便可。或者另外獨立添加一行:syntax on 也行,另外編輯/etc/profile 增長一行alias vi="vim"就好了。命令行

  三、設置鼠標unix

  使用VI編輯文本時,若是想修文件中改離光標較遠的位置,這時候想用鼠標定位,可默認狀況下,鼠標是不可用的。若是你想使用鼠標,只需另起一行,寫上:set mouse=a 便可

  四、設置自動縮進

  默認狀況下,VI和VIM都沒有縮進的,每換一行,光標均定位在頂格,若是你想自動對齊,請將 set autoindent所在行前面的引號去掉,或者另外添加一行:set autoindent也可。這與配置顏色相似。這樣的設置的結果是按回車後新行與上一行自動對齊。

  五、設置tab的縮進量

  若是用python編寫程序,那麼行縮進量是一個極其重要的概念,同一個塊的縮進量必須相同。你可能喜歡在行前加空格來表示縮進,但每次必須敲屢次空格鍵,若是你喜歡用按TAB鍵來表示縮進,你可能以爲寫的文本或程序不太好看,由於默認狀況下,VI和VIM的TAB縮進量比較大(至少六,七個字符)。設置TAB鍵縮進量的方法:set shiftwidth=3 你也能夠選一 個你本身喜歡的縮進量,好比2,或4。

  其餘方便的技巧

  一、vi的基本概念

  基本上vi能夠分爲三種狀態,分別是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區分以下:

  1) 命令行模式command mode)

  控制屏幕光標的移動,字符、字或行的刪除,移動複製某區段及進入Insert mode下,或者到 last line mode。

  2) 插入模式(Insert mode)

  只有在Insert mode下,才能夠作文字輸入,按「ESC」鍵可回到命令行模式。

  3) 底行模式(last line mode)

  將文件保存或退出vi,也能夠設置編輯環境,如尋找字符串、列出行號……等。

  不過通常咱們在使用時把vi簡化成兩個模式,就是將底行模式(last line mode)也算入命令行模式command mode)。

  二、vi的基本操做

  a) 進入vi

  在系統提示符號輸入vi及文件名稱後,就進入vi全屏幕編輯畫面:

  $ vi myfile

  不過有一點要特別注意,就是您進入vi以後,是處於「命令行模式(command mode)」,您要切換到「插入模式(Insert mode)」纔可以輸入文字。初次使用vi的人都會想先用上下左右鍵移動光標,結果電腦一直嗶嗶叫,把本身氣個半死,因此進入vi後,先不要亂動,轉換到「插入模式(Insert mode)」再說吧!

  b) 切換至插入模式(Insert mode)編輯文件

  在「命令行模式(command mode)」下按一下字母「i」就能夠進入「插入模式(Insert mode)」,這時候你就能夠開始輸入文字了。

  c) Insert 的切換

  您目前處於「插入模式(Insert mode)」,您就只能一直輸入文字,若是您發現輸錯了字!想用光標鍵往回移動,將該字刪除,就要先按一下「ESC」鍵轉到「命令行模式(command mode)」再刪除文字。

  d) 退出vi及保存文件

  在「命令行模式(command mode)」下,按一下「:」冒號鍵進入「Last line mode」,例如:

  : w filename (輸入 「w filename」將文章以指定的文件名filename保存)

  : wq (輸入「wq」,存盤並退出vi)

  : q! (輸入q!, 不存盤強制退出vi)

  三、命令行模式(command mode)功能鍵

  1). 插入模式

  按「i」切換進入插入模式「insert mode」,按「i」進入插入模式後是從光標當前位置開始輸入文件;

  按「a」進入插入模式後,是從目前光標所在位置的下一個位置開始輸入文字;

  按「o」進入插入模式後,是插入新的一行,從行首開始輸入文字。

  2). 從插入模式切換爲命令行模式

  按「ESC」鍵。

1、打開文件、保存、關閉文件(vi命令模式下使用)

vi filename //打開filename文件

:w //保存文件

:w vpser.net //保存至vpser.net文件

:q //退出編輯器,若是文件已修改請使用下面的命令

:q! //退出編輯器,且不保存

:wq //退出編輯器,且保存文件

2、插入文本或行(vi命令模式下使用,執行下面命令後將進入插入模式,按ESC鍵可退出插入模式)

a //在當前光標位置的右邊添加文本

i //在當前光標位置的左邊添加文本

A //在當前行的末尾位置添加文本

I //在當前行的開始處添加文本(非空字符的行首)

O //在當前行的上面新建一行

o //在當前行的下面新建一行

R //替換(覆蓋)當前光標位置及後面的若干文本

J //合併光標所在行及下一行爲一行(依然在命令模式)

3、移動光標(vi命令模式下使用)

一、使用上下左右方向鍵

二、命令模式下:h 向左、j 向下 、k 向上、l 向右。

空格鍵 向右、Backspace 向左、Enter 移動到下一行首、- 移動到上一行首。

4、刪除、恢復字符或行(vi命令模式下使用)

x //刪除當前字符

nx //刪除從光標開始的n個字符

dd //刪除當前行

ndd //向下刪除當前行在內的n行

u //撤銷上一步操做

U //撤銷對當前行的全部操做

5、搜索(vi命令模式下使用)

/vpser //向光標下搜索vpser字符串

?vpser //向光標上搜索vpser字符串

n //向下搜索前一個搜素動做

N //向上搜索前一個搜索動做

6、跳至指定行(vi命令模式下使用)

n+ //向下跳n行

n- //向上跳n行

nG //跳到行號爲n的行

G //跳至文件的底部

7、設置行號(vi命令模式下使用)

:set nu //顯示行號

:set nonu //取消顯示行號

8、複製、粘貼(vi命令模式下使用)

yy //將當前行復制到緩存區,也能夠用 "ayy 複製,"a 爲緩衝區,a也能夠替換爲a到z的任意字母,能夠完成多個複製任務。

nyy //將當前行向下n行復制到緩衝區,也能夠用 "anyy 複製,"a 爲緩衝區,a也能夠替換爲a到z的任意字母,能夠完成多個複製任務。

yw //複製從光標開始到詞尾的字符。

nyw //複製從光標開始的n個單詞。

y^ //複製從光標到行首的內容。 VPS偵探

y$ //複製從光標到行尾的內容。

p //粘貼剪切板裏的內容在光標後,若是使用了前面的自定義緩衝區,建議使用"ap 進行粘貼。

P //粘貼剪切板裏的內容在光標前,若是使用了前面的自定義緩衝區,建議使用"aP 進行粘貼。

9、替換(vi命令模式下使用)

:s/old/new //用new替換行中首次出現的old

:s/old/new/g //用new替換行中全部的old

:n,m s/old/new/g //用new替換從n到m行裏全部的old

:%s/old/new/g //用new替換當前文件裏全部的old

10、編輯其餘文件

:e otherfilename //編輯文件名爲otherfilename的文件。

11、修改文件格式

:set fileformat=unix //將文件修改成unix格式,如win下面的文本文件在linux下會出現^M。

總結:vi(vim)教程雖然有比較多的命令,可是隻要勤加練習,相信你會很快的熟練掌握,同時也會給你的工做或學習帶來更高的效率。當若是不知道本身處在什麼模式時能夠按2次Esc鍵便可回到命令模式,會有最後提醒一點:注意大小寫!!!

相關文章
相關標籤/搜索