• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sdjl
V2EX  ›  程序员

vim 编辑 HTML 文件时,如何实现修改<div>名称时,自动修改</div>为对应名称? [tagalong 有 Bug]

  •  
  •   sdjl · Feb 23, 2023 · 3222 views
    This topic created in 1353 days ago, the information mentioned may be changed or developed.

    例如有:

    <div> <span></span> </div>
    

    当把第一个<div>修改为<p>时,</div>也会自动改为</p>,结果为:

    <p> <span></span> </p>
    

    我之前一直用 AndrewRadev/tagalong.vim 插件实现此功能,但我发现这个插件有一个 bug 。

    bug 表现为:

    当我用 y 命令复制一些内容后,如果我在使用 p 命令之前先按下 i 进入插入模式,输入一个空格,再按 Esc ,然后此时按下 p 会粘贴一堆乱码。

    所以,有没有其他类似的替代品?

    谢谢!

    20 replies  •  2023-02-24 14:23:59 +08:00
    sdjl
    sdjl
    OP
    Feb 23, 2023
    1
    什么贵? 我写的 html 标签去哪里了?
    sdjl
    sdjl
    OP
    Feb 23, 2023
    2
    好吧,第一写 html 标签,需要用``包裹 html 代码才能正常显示~
    wangtian2020
    wangtian2020
    Feb 23, 2023
    3
    替代品是指替代软件吗,vscode 一直是自动修改匹配的标签对的
    sdjl
    sdjl
    OP
    Feb 23, 2023
    4
    @wangtian2020 不是呢,是指 vim 的插件

    我叫 ChatGPT 帮我写一个插件,结果它的代码不可行~
    ViriF
    ViriF
    Feb 23, 2023❤️1
    6
    tpope/vim-surround

    cst<
    #自动弹出 prompt
    :p<CR>
    sdjl
    sdjl
    OP
    Feb 23, 2023
    7
    @yuhangch 谢谢

    我刚尝试添加 let g:tagalong_mappings = ['c', 'C', 'i', 'a'] 配置,bug 依然存在呢
    sdjl
    sdjl
    OP
    Feb 23, 2023
    8
    @ViriF

    谢谢,vim-surround 插件我也装了的,实在不行就只能用这个替代了
    N9f8Pmek6m8iRWYe
    N9f8Pmek6m8iRWYe
    Feb 23, 2023
    9
    idea 可以自动编辑标签对,可以试试
    yuancoder
    yuancoder
    Feb 23, 2023❤️1
    10
    surround 插件 :
    cst 修改标签
    wangjw
    wangjw
    Feb 23, 2023
    11
    vscode 有个 "auto rename tag" 插件可以试试
    wangjw
    wangjw
    Feb 23, 2023
    12
    sorry ,没看到 'vim',请忽略
    yuuko
    yuuko
    Feb 23, 2023
    13
    装个 html lsp ,只要你用的 lsp 客户端支持 linked editing ,修改标签会帮你自动修改
    acdfjelxe
    acdfjelxe
    Feb 24, 2023❤️1
    14
    sdjl
    sdjl
    OP
    Feb 24, 2023
    15
    @acdfjelxe 谢谢,目前还没有切换到 nvim 的计划,不过感觉快了
    justgodlike1993
    justgodlike1993
    Feb 24, 2023❤️1
    16
    mattn/emmet-vim <C-y>u
    sdjl
    sdjl
    OP
    Feb 24, 2023
    17
    @justgodlike1993 "mattn/emmet-vim <C-y>u"

    谢谢,这个也行的。
    dragondove
    dragondove
    Feb 24, 2023
    18
    @acdfjelxe 这个插件不支持 x/p 之类的操作比较难受,treesitter 目前也有性能问题
    tool2d
    tool2d
    Feb 24, 2023❤️1
    19
    如果是低频修改 html ,有没有 auto rename 功能,对效率影响并不大。也可以用 vscode 修改。

    如果是高频使用,你可以用</auto>来进行关键词自动推导。或者用 yaml 这种没有结尾符的格式,动态编译成 html 。
    fannheyward
    fannheyward
    Feb 24, 2023❤️1
    20
    LSP 的 Linked Editing ,直接 `cw` 就是。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   726 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 19:44 · PVG 03:44 · LAX 11:44 · JFK 14:44
    ♥ Do have faith in what you're doing.