fuxkcsdn
V2EX  ›  Vim

未保存的文件如何跳转<C-]>到定义在其他文件的函数?

  •  
  •   fuxkcsdn · Dec 1, 2016 · 2799 views
    This topic created in 3527 days ago, the information mentioned may be changed or developed.
    未保存的文件使用 C-]跳转时会提示

    E37: No write since last change (add ! to override)

    目前使用先保存再跳转( noremap <C-]> <ESC>:w<ESC><C-]>)

    但感觉应该有其他方法可以更优雅的跳转(比如不保存就能跳转),求指导

    P.S. 有使用 airline 插件的 tabline extension 显示 buffers
    Supplement 1  ·  Dec 1, 2016

    目前使用下面的 map 实现效果,暂时没发现副作用

    noremap <silent><C-]> <ESC>:set hidden<ESC><C-]>
    
    Supplement 2  ·  Dec 5, 2016
    update
    感谢 ashfinal 的提醒, yangg 说的 set hidden 原来只需要再 vimrc 里设置就行了
    这样就不需要再用到 map 了
    8 replies    2016-12-03 16:21:04 +08:00
    fuxkcsdn
        1
    fuxkcsdn  
    OP
       Dec 1, 2016
    使用
    noremap <C-]> <C-w><C-]><C-w>T
    让其默认跳转到 新标签页 是可以不保存跳转
    但....还是想让它在新 buffer ,而不是 tab
    skywind3000
        2
    skywind3000  
       Dec 1, 2016
    习惯使用
    <C-W><C-]>

    <C-W>}
    yangg
        3
    yangg  
       Dec 1, 2016 via iPhone   ❤️ 1
    set hidden
    xuyuheng0905
        4
    xuyuheng0905  
       Dec 1, 2016
    先保存一下呗,我曾经也困扰过,不过习惯就好。
    fuxkcsdn
        5
    fuxkcsdn  
    OP
       Dec 1, 2016
    @xuyuheng0905
    结合 @yangg 的方法重新设置了 map 实现效果,暂时没发现副作用
    ashfinal
        6
    ashfinal  
       Dec 2, 2016
    应该是在 .vimrc 里设置 `set hidden` ,虽然我不用跳转函数的功能。
    fuxkcsdn
        7
    fuxkcsdn  
    OP
       Dec 2, 2016 via iPhone
    @ashfinal set hidden 只对当前 buffer 有效吧
    ashfinal
        8
    ashfinal  
       Dec 3, 2016   ❤️ 1
    @fuxkcsdn No no 这个选项看字面意思确实有迷惑性。
    实际上是说不用的 buffer 给隐藏起来,这样不影响你加载其他 buffer 。具体可以 :help hidden

    照例安利一发我的豪华配置: https://github.com/ashfinal/vimrc-config
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1137 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 23:21 · PVG 07:21 · LAX 16:21 · JFK 19:21
    ♥ Do have faith in what you're doing.