【vim 学习系列文章 22 -- vim 实现 linux 多行快速标准注释】

vim 实现 linux 多行快速标准注释

不多说了,直接上动图:
请添加图片描述
上代码:

function! CommentBlock()
    " 获取Visual模式选中的起始和结束行号
    let old_start_line = line("'<")
    let old_end_line = line("'>")

    call append(old_end_line, '')
    call append(old_start_line - 1, '')

    let start_line = old_start_line
    let end_line = old_end_line + 2
    execute "normal! " . start_line . "GV" . end_line . "G"

    " 变量i用于循环
    let i = start_line
    " 循环处理每一行
    while i <= end_line
        " 如果是第一行
        if i == start_line
            execute i . 's/^/\/\*/'
        " 如果是最后一行
        elseif i == end_line
            execute i . 's/^/\ *\//'
        " 其他行
        else
            execute i . 's/^/\ * /'
        endif
        let i += 1
    endwhile
endfunction

function! CallFunctionsAB()
    ""call AddLinesBeforeAndAfter()
    ""call AddLinesAndReselect()
    call CommentBlock()
endfunction

"" 在Visual模式下,把 'gcm' 映射到上面定义的函数
vnoremap gcn :<C-u>call CallFunctionsAB()<CR>

相关推荐

  1. vim 学习系列文章 14 -- 快速选中

    2024-04-11 12:04:04       23 阅读
  2. Vim 快速指南:高效删除文本

    2024-04-11 12:04:04       34 阅读
  3. vim 学习系列文章 18 -- 选中前后增加两

    2024-04-11 12:04:04       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-11 12:04:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-11 12:04:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-11 12:04:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-11 12:04:04       20 阅读

热门阅读

  1. 学习基于pytorch的VGG图像分类 day3

    2024-04-11 12:04:04       12 阅读
  2. 面试算法-168-LRU 缓存

    2024-04-11 12:04:04       12 阅读
  3. 坚持十天做完Python入门编程100题第三天

    2024-04-11 12:04:04       13 阅读
  4. 设计模式:生活中的命令模式

    2024-04-11 12:04:04       13 阅读
  5. 【免安装的MATLAB--MATLAB online】

    2024-04-11 12:04:04       13 阅读
  6. 数据结构与算法 — 贪心算法

    2024-04-11 12:04:04       13 阅读
  7. Python:迭代器

    2024-04-11 12:04:04       14 阅读
  8. 【云开发笔记No.20】中台架构的分类

    2024-04-11 12:04:04       16 阅读