vi(vim)鍵盤圖及其基本命令

 轉載參考地址:http://www.cnblogs.com/chinhao/p/4649106.html

 

 

進入vi

vi filename                打開或新建文件,並將光標置於第一行首html

vi +n filename           打開文件,並將光標置於第 n行首post

vi + filename             打開文件,並將光標置於最後一行首命令行

vi -r filename            在上次正用 vi編輯時發生系統崩潰,恢復文件3d

vi file1....filen            打開多個文件,依次編輯htm

vi的工做模式

命令行模式 (command mode):控制屏幕光標的移動,字符、字或行的刪除,移動複製某區段及進入Insert mode下,或者到 last line mode。blog

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

底行模式(last line mode):將文件保存或退出 vi,也能夠設置編輯環境,如尋找字符串、列出行號等。字符串

命令行模式

移動光標

k、j、h、l      功能分別等同於上、下、左、右箭頭鍵 it

Ctrl+b            在文件中向上移動一頁(至關於 PageUp 鍵)ast

Ctrl+f             在文件中向下移動一頁(至關於 PageDown 鍵)

ctrl+u             屏幕日後移動半頁

ctrl+d            屏幕往前移動半頁

H                   將光標移到屏幕的最上行(Highest) 

nH                 將光標移到屏幕的第 n 行(如 2H: 將光標移到屏幕的第 2 行)

M                  將光標移到屏幕的中間(Middle)

L                   將光標移到屏幕的最下行(Lowest) 

nL                 將光標移到屏幕的倒數第 n 行(如 3L:將光標移到屏幕的倒數第 3 行)

w                  在指定行內右移光標,到下一個字的開頭

e                   在指定行內右移光標,到一個字的末尾

b                   在指定行內左移光標,到前一個字的開頭

0                   數字0,左移光標,到本行的開頭 

G                  光標移動到文章的最後

nG                光標移動到文章的第 n行(如8G:移動到文章的第 8行)

$                   右移光標,到本行的末尾 

^                   移動光標,到本行的第一個非空字符

替換和刪除

rc                  用 c 替換光標所指向的當前字符

nrc                用 c 替換光標所指向的前 n 個字符(如 5rc: 用 c 替換光標所指向的前 5 個字符)

x                   刪除光標所在位置後面的一個字符 

nx                 刪除光標所在位置後面的 n 個字符(如 3x:刪除光標所在位置後面的 3 個字符)

X                  大寫的 X,刪除光標所在位置前面的一個字符

nX                刪除光標所在位置前面的 n 個字符(如 3X : 刪除光標所在位置前面的 3 個字符)

dd                刪除光標所在行,並去除空隙 

ndd              從光標所在行開始刪除 n 行內容,並去除空隙(如 3dd: 刪除 3 行內容,並去除空隙) 

複製和粘貼

從正文中刪除的內容(如字符、字或行)並無真正丟失,而是被剪切並複製到了一個內存緩衝區中。用戶可將其粘貼到正文中的指定位置。

p                  小寫字母 p,將緩衝區的內容粘貼到光標的後面

P                  大寫字母 P,將緩衝區的內容粘貼到光標的前面 

若是緩衝區的內容是字符或字,直接粘貼在光標的前面或後面;若是緩衝區的內容爲整行正文則粘貼在當前光標所在行的上一行或下一行。

有時須要複製一段正文到新位置,同時保留原有位置的內容。這種狀況下,首先應當把指定內容複製(而不是剪切)到內存緩衝區。完成這一操做的命令是:

yy                 複製當前行到內存緩衝區

nyy               複製 n 行內容到內存緩衝區(如 5yy: 複製 5 行內容到內存緩衝區)

搜索字符串

/str1             正向搜索字符串 str1 

n                  繼續搜索,找出 str1 字符串下次出現的位置 

?str2            反向搜索字符串 str2 

撤銷和重複

u                  撤消前一條命令的結果 

.                   重複最後一條修改正文的

相關文章
相關標籤/搜索