VIM宏的錄製與播放

/********************************************************
 * Author: Goup
 *
 * Date: 2017-08-20 早上
 *
 * Description: vim
 *
 ********************************************************/


宏的錄製與播放


q+<register>+一系列命令+q
<register> 指用戶自己定義的a-z中的一個寄存器
q+<register> 開始記錄命令
q 完成記錄,退出記錄
例: qa
vim  命令
q
這個宏只記錄了vim命令到寄存器a中,執行這個宏可以用命令:
@a
也可以加上執行次數:
10@a 執行10次
當你執行過一次@a之後,你可以用@@來重複執行@a
1 先建立一個宏。如上
2 在任意一個文件的空白位置normal狀態下,命令"ap 即可以把宏的內容顯示出來。
其實在vim中所謂的宏就是把一串命令放到了指定的寄存器裏。所以要實現Karl的需求,可以這樣做:先錄製好宏後,然後在vimrc裏把這個宏中的命令放到指定寄存器裏,這樣vim啓動後就可以直接使用這個宏了。


配置文件保存錄制的宏
具體的做法如下:


第一步:1.首先錄製宏,Easwy以插入三行文字做爲一個簡單的例子。這三行文字是:


================================
I love vim. Happy vimming!
================================ 
2.按qu開始錄製,錄製完成後再按一個q命令結束,這樣就把宏錄製到寄存器u中了。


3.現在我們可以查看一下u寄存器的內容,用命令“up,把u寄存器的內容粘貼出來:


32i=^[oI love vim. Happy vimming!^M^[32i=^[ 
注意,上面的^[實際上是<ESC>鍵的鍵碼,同樣,^M是換行鍵<CR>的鍵碼,在vim中它們以特殊的顏色被顯示出來,如果你把光標在它們上面移過,
 你會發現它們雖被顯示成兩個字符,但實際上只是一個。


第二步:現在我們用下面的命令在.vimrc中輸入一行:


<ESC>olet @m = "<ESC>"upa"<ESC> 
這行命令實際上在.vimrc加入了這行話:


let @m = "32i=^[oI love vim. Happy vimming!^M^[32i=^["
 


第三步:現在你重啓vi,然後直接輸出下面的命令:


@m 
怎麼樣,宏是不是生效了?!




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章