如何在 vim 中创建映射以自动执行 .h c++ 文件的 ifdef 命令?基本上我想要一个映射,它将创建以下将与 .h 和 .hpp 等一起使用
#ifndef <filename>_<extension>__
#define <filename>_<extension>__
#endif // <filename>_<extension>__
另外值得一提的是,缩写也可以用来做这种事情。一个带有小帮助函数的示例,使其更易于阅读
function! InsertHeaderGuard()
let def = expand('%:r') . '_' . expand('%:e') . '__'
let guard = '#ifndef ' . def . "\n"
let guard .= '#define ' . def . "\n\n"
let guard .= '#endif // ' . def
return guard
endfunction
iabbrev _TEST <c-r>=InsertHeaderGuard()<cr>
只需在 .vimrc 文件中键入以下内容。你的 .vimrc 文件应该在你的主目录中。这将输出您要查找的内容。您可以在编辑 .h 或 .hpp 文件后使用它,然后按一下<f12>
键
nnoremap <f12> "%pF.r_A__<esc>I#ifndef <esc>gUwyypldwidefine <esc>yypldwiendif //<esc>O<esc>
inoremap <f12> <esc>"%pF.r_A__<esc>I#ifndef <esc>gUwyypldwidefine <esc>yypldwiendif //<esc>O<esc>i