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

文章目录

    • [vim 实现 linux 多行快速标准注释](#vim 实现 linux 多行快速标准注释)

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

不多说了,直接上动图:

上代码:

powershell 复制代码
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>
相关推荐
wj3055853787 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
吃好睡好便好7 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
abigriver7 小时前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
wangqiaowq8 小时前
windows下nginx的安装
linux·服务器·前端
nashane8 小时前
HarmonyOS 6学习:CapsLock键失效诊断与长截图完整实现指南
学习·华为·harmonyos
YYRAN_ZZU8 小时前
Petalinux新建自动脚本启动
linux
charlie1145141919 小时前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
于小猿Sup9 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y9 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
xian_wwq10 小时前
【学习笔记】AGC协调控制系统概述
笔记·学习