關於vim vi簡單介紹

2021-07-10 20:40:25 字數 4645 閱讀 7573

vim/vi 簡介

vim/vi

用於在使用

linuxserver

時,進行指令碼程式設計和配置檔案修改時主要使用,比較好用。

一般使用vim編寫系統配置檔案和寫

shell

指令碼時,需掌握如下命令:

插入命令:

a  在游標後附加文字

a  在本行行末附加文字

i   在游標前插入文字

i   在本行開始插入文字

o  在游標下方插入一行

o 在游標上方插入一行

定位命令:

h、方向左鍵  游標左移乙個字元

j、方向下鍵  游標下移一行

k、方向上鍵  游標上移一行

l、方向右鍵  游標右移乙個字元   

(向上、下移動

n行可以用nj、

nk、n方向上鍵、

n方向下鍵;向左向右移動

n個字元可以用nh、

nl、n方向左鍵、

n方向右鍵)

$  、end鍵                     移至行尾

0 (零鍵)、home鍵   移至行首

h                         移至螢幕上端

m                        移至螢幕**

l                          移至螢幕下端

:set nu  顯示行號

:set nonu 取消行號

gg                     到第一行

g                到最後一行

ng、:n      到第n行

刪除命令:

x                 刪除游標所在處字元

nx              刪除連同游標所在位置及游標後的共n個字元

dd              刪除游標所在行內容,ndd刪除連同游標所在的行及游標下面共n行內容

dg             刪除游標所在行到末尾的所有內容

d                刪除游標所在處到行尾的內容

:n1,n2d 刪除指定範圍的行

複製和剪下命令:

yy、y        複製當前行

nyy、ny   複製包括當前行在內的以下共n行

dd              剪下當前行

ndd      剪下包括當前行在內的以下共n行

p、p      貼上在當前游標所在行下、行上

注意:使用刪除命令所刪除的內容均可用p或

p來進行貼上,但是貼上位置有所不同。其中,d、

x、nx命令刪除的內容在貼上時,

p貼上在游標後,

p貼上在游標前;而dd、

ndd、dg、

:n1,n2d

命令刪除的內容在貼上時,

p貼上在游標所在行的下一行,

p貼上在游標所在行的上一行。

替換和取消命令:

r                 替換游標所在處字元

r                從游標所在處開始替換字元,按esc結束

u                取消上一步操作

搜尋和替換命令:

/string                  向前搜尋指定字串(搜尋時想忽略大小寫:set ic關閉忽略大小寫:set noic)

n                             上搜尋指定字串的下乙個出現位置(n 上乙個出現位置)

:%s/old/new/g          全文替換指定字串

:n1,n2s/old/new/g   在一定範圍內替換指定字串(可用c代替

g,區別就是

c會提示是否替換)

儲存退出命令:

:wq 、zz  儲存並退出

:wq!           強行儲存退出(只有檔案的所有者或者

root

才可以這樣)

:q!                          強行不儲存退出(只有檔案的所有者或者

root

才可以這樣)

:w                         儲存不退出

:w 新檔名 另存為功能(:w 目錄/新檔名  另存在指定目錄下)

塊選擇命令:

v                 字元選擇,會將游標經過的地方反白選擇

v                行選擇,會將游標經過的行反白選擇

ctrl+v    塊選擇,可以用長方形的方式反白選擇資料

y                將反白的地方複製起來

d               將反白的地方刪除

其它技巧命令:

:r 檔名                                 匯入某檔案內容匯入到當前檔案中

:!命令                                      在vi中執行命令(按回車退出)

:r!命令                                     匯入命令的執行結果到當前檔案中

:map 快捷鍵  觸發命令    定義快捷鍵

範例  :map ^p i#^[ (^p

:ctrl+v ctrl+p

或ctrl+v+p  ^[

:ctrl+v+esc

)游標移到行首插入#後退出(啟用esc鍵)到命令模式

:map ^b 0x    游標移到行首刪除行首字母

:map ^e ithis is a test!  定義ctrl+e插入i後面的內容(注意:並沒有退回到命令模式)

:unmap 快捷鍵              取消快捷鍵定義

:n1,n2s/^/#/g                  連續行注釋(^表示行首)

:n1,n2s/^#//g                   連續行取消注釋(^表示行首)

:n1,n2s/#//g                     去掉連續行內所有井號

:n1,n2s/^/\/\//g                連續行用//注釋(^表示行首,使用了轉義符)

:ab 內容1      內容2          替換(將輸入的內容1變成內容2)

:unab 內容1                      取消替換

關於vim配置:

宿主目錄(homedirectory   宿主目錄可以指定,但預設root的宿主目錄是/root 普通使用者的宿主目錄是/home/使用者名稱)

vi 的配置檔案存放在使用者的宿主目錄下

~/.vimrc

使用者只有將定義的快捷鍵等對vi的配置寫在配置檔案中,才能每次都使用,否則,每次對vi的設定是不儲存的。

vim與vi比較:

vim與vi相比,vim具有顏色顯示的功能,且支援許多程式語法(c語言等),可以進行c語言等程式編輯。當使用vim編輯程式時,vim可直接檢查程式的語法錯誤。

vim file1 file2

:files        列出當前使用vim開啟的檔案

:n               編輯下乙個檔案

:n              編輯上乙個檔案

vim的多檔案編輯可以實現將乙個檔案中的某些內容複製、剪下到另乙個檔案中。

在一般的視窗介面下的編輯軟體都會有「切割視窗或凍結視窗」的功能,vim也有這樣的功能。

:sp          將當前檔案在兩個視窗裡顯示

:sp filename1 在當前視窗裡切割出乙個視窗顯示filename1檔案

ctrl+w+j、ctrl+w+方向上鍵      

ctrl+w+k、ctrl+w+方向下鍵          在各個視窗之間切換游標

vim會主動將你曾經做過的行為記錄下來,記錄操作的檔案是

~/.viminfo

(.viminfo是自動產生的,使用者在vim裡所做的操作可以在這個檔案內部查詢到)

dos 與linux斷行字元的轉換:

dos2unix [-kn] file [newfile]    -k(不更新檔案上次內容經過修訂的時間)

unix 2dos [-kn] file [newfile]    -n(保留原本的舊檔案,轉換後並儲存到新檔案)

在dos和linux的文字編輯模式和下,斷行字元是不同的。dos中使用的斷行字元是^m$(我們成為cr lf兩個符號),linux中僅有$(lf)這個斷行符號。

檔案語系編碼的轉換:

iconv --list    列出iconv支援的語系資料

iconv –f 原本編碼 –t 新編碼 filename[-o newfile]

-f from

-t to

-o file 若要保留原來的檔案,使用該選項可建立新編碼檔案

關於adodb的簡單介紹

adodb 不管後端資料庫如何,訪問資料庫的方式都是一致的,開發設計人員不必為了某一套資料庫,而必須再學習另一套不同的 訪問方法,這大大減輕開發人員的知識負擔,過去的知識往後仍可繼續使用 外文名 active data objects data base 簡 稱 adodb 含 義 php 訪問資料...

關於GitHub的簡單介紹

github是目前世界上最先進的分布式版本控制系統,最初由linus torvalds編寫,用作linux核心 的管理。在推出後,git在其它的專案中也取得了很大成功,尤其是在ruby社群中。目前,包括rubinius merb和bitcoin在內的很多知名專案都使用了git。git同樣可以被諸如c...

關於for迴圈的簡單介紹

for迴圈結構是由三部分組成的 初始變數 迴圈條件 變數的變化和迴圈的語句塊。初始變數 迴圈開始時,變數的初始值,當定義多個變數時,他們中間用 隔開。迴圈條件 又叫測試語句,測試給定的條件是真還是假。如果條件為真,那麼就要執行迴圈中給定的 否則迴圈就會退出來。迴圈語句塊 當條件滿足時,所要執行的 給...