专业视频网站开发公司,网络交易平台,html首页,产品企业网站背景
C语言使用vim编写时#xff0c;需要快速对函数进行说明头插入#xff1b;
代码
function! InsertCFunctionHeader() 获取当前行内容let line getline(.) 匹配 C 函数定义let matched matchlist(line, ^\s*\w\ \\(\w\\)(\(.*\))) 如果当前行不是函…背景
C语言使用vim编写时需要快速对函数进行说明头插入
代码
function! InsertCFunctionHeader() 获取当前行内容let line getline(.) 匹配 C 函数定义let matched matchlist(line, ^\s*\w\ \\(\w\\)(\(.*\))) 如果当前行不是函数定义退出if len(matched) 0echo Not a function definition!returnendif 获取函数名和参数列表let func_name matched[1]let params matched[2]let current_line_number line(.)let current_line_content getline(.)let write_line_number current_line_number - 1 插入注释头call setline(current_line_number, )call setline(write_line_number, /* . func_name)let write_line_number 1call append(write_line_number, *)let write_line_number 1call append(write_line_number, * Parameters:)let ii 0 解析并插入参数注释for param in split(params[1:-1], ,)let param_name matchstr(param, \w\$)if len(param_name) 0let write_line_number 1call append(write_line_number, * . param_name . :)endifendforlet write_line_number 1call append(write_line_number, * Returns:)let write_line_number 1call append(write_line_number, * )let write_line_number 1call append(write_line_number, */)let write_line_number 1call append(write_line_number, )let write_line_number 1call append(write_line_number, current_line_content)
endfunction 将该函数绑定到一个快捷键例如 F5
nnoremap F5 :call InsertCFunctionHeader()CR