Vim
如何使用 vim 將特定行插入到文件中?
我
vim
用於程式和競爭性編碼。現在,因為我想在進行競爭性編碼時打開源文件時插入特定的宏。
vim
我只是從保存它們的位置手動 將整個宏複製粘貼到編輯器中。有什麼辦法可以在
vim
編輯器中更有效地做到這一點,比如說我按下C``C
並自動將宏插入源文件的頂部?如果是,那麼我需要對
.vimrc
文件進行哪些更改才能這樣做?
現有文章中對此有多種解決方案:
https://stackoverflow.com/questions/690386/writing-a-vim-function-to-insert-a-block-of-static-text
如果您的意思是插入樣板程式碼或可重用程式碼片段,您可以定義映射、插入模式縮寫或使用更強大的片段外掛之一。
片段就像類固醇的內置
:abbreviate
,通常在其中包含參數插入、鏡像和多個停止。snipMate(靈感來自TextMate編輯器)是最早的、非常著名(並且仍然被廣泛使用)的 Vim 外掛之一;不幸的是,它不再維護了;雖然有一個叉子。一個現代替代方案(儘管需要 Python)是UltiSnips。還有更多,請參閱Vim Tips Wiki 上的此列表。還有一些外掛可以使用模板自動填充空文件。
宏通常意味著記錄在寄存器中的擊鍵/命令序列,或從中派生的映射。如果您只希望它們用於您的競爭性編碼會話,您可以將它們放入單獨的
macros.vim
腳本中,並且:source
按需(而不是將它們直接放入~/.vimrc
)。甚至採購也可以自動化:具有內置功能的本地配置
如果你總是從項目根目錄啟動 Vim,內置的
:set exrc
.vimrc
允許從目前目錄讀取文件。通過外掛進行本地配置
否則,您需要外掛的幫助;vim.org 上有幾個;我可以推薦localrc 外掛,它甚至允許本地文件類型特定的配置。