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


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

 

 

進入vi

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

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

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

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

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

vi的工作模式

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

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

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

命令行模式

移動光標

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

Ctrl+b            在文件中向上移動一頁(相當於 PageUp 鍵)

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                  撤消前一條命令的結果 

.                   重復最后一條修改正文的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM