2

如何在 vim 中创建映射以自动执行 .h c++ 文件的 ifdef 命令?基本上我想要一个映射,它将创建以下将与 .h 和 .hpp 等一起使用

#ifndef <filename>_<extension>__
#define <filename>_<extension>__

#endif  // <filename>_<extension>__
4

2 回答 2

1

另外值得一提的是,缩写也可以用来做这种事情。一个带有小帮助函数的示例,使其更易于阅读

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>
于 2013-09-30T17:53:14.100 回答
0

只需在 .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
于 2013-09-27T04:28:29.963 回答