日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Vim 重复操作的宏录制

發布時間:2025/3/8 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vim 重复操作的宏录制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Vim 重復操作的宏錄制

轉自:https://www.cnblogs.com/ini_always/archive/2011/09/21/2184446.html

在編輯某個文件的時候,可能會出現需要對某種特定的操作進行許多次的情況,以編輯下面的文件為例:

;===================================================================================== ;This is a sample configuration file when upgrading XXX using InstallShield. ;Author: ini_always ;Date: 8/24/2011 ;Last modified: 9/20/2011 ;Note: Install script does NOT verify whether the configuration file is in a "WELL" ;format, a WRONG format may lead to installation failure. ;If more information is needed, please check the document for details. ;=====================================================================================

這是一個ini類型的配置文件,可以看到每一行的最前面有一個逗號,現在如果需要將每行前面的逗號去掉,怎么辦?在第一行行首按x,然后按j,然后按x…這樣重復下去?確實,我最開始也是這樣的,但如果這個文件有100行要這樣修改呢?或者1000行?

好吧,少廢話,進入正題。所謂宏,在vim里面是指某種特定順序的一系列操作,我們可以錄制自己的操作序列,然后重復這個序列多次,以簡化某種重復的操作。vim宏有錄制和播放的過程,錄制就是你教給vim該怎么操作,播放就是vim照著你教的進行自動操作。因此,對于上面的文件處理,首先要進行宏錄制:

  • 把光標定位在第一行;

  • 在normal模式下輸入qa(當然也可以輸入qb, qc, etc,這里的a, b, c是指寄存器名稱,vim會把錄制好的宏放在這個寄存器中)(PS:如果不知道什么是vim的寄存器,請自行放狗搜之);

  • 正常情況下,vim的命令行會顯示“開始錄制”的字樣,這時候,把光標定位到第一個字符(按0或者|),再按x刪除,按j跳到下一行;

  • normal模式下輸入q,結束宏錄制。

  • 好了,經過以上步驟,我們定義了一個存儲在寄存器a中的宏,它的操作序列是:0->x->j,也就是跳到行首,刪除,跳到下一行。

    現在,第一行已經刪除了行首的逗號,而且光標也已經在第二行,現在,在normal模式下輸入@a,以播放我們剛錄制好的存在寄存器a中的宏。于是,第二行行首的逗號也被刪除,光標停在了第三行。

    這也不簡單啊?你肯定會這樣想,要刪除100行,我還得輸入100個@a,我還不如手動刪除呢。呵呵,vim早就想到了,輸入7@a,好了,剩下的7行全部搞定了。(PS:在命令前面加數字,就是代表要執行這個命令多少次)

    當然,這個例子很簡單,但也很典型。利用好vim的宏,可以使一些原本很無聊的工作要簡單很多。

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的Vim 重复操作的宏录制的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。