V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qanniu
V2EX  ›  Vim

vim 如何像 emacs 一样单开一个实例?

  •  
  •   qanniu · 2018-07-03 18:44:47 +08:00 · 3105 次点击
    这是一个创建于 2369 天前的主题,其中的信息可能已经有所发展或是发生改变。
    需求场景:
    1. vim 打开文件 a
    2. shell 下切换到另外的路径 b
    3. vim 不关闭的情况下, 且保持一个 vim 实例, 开启 b 路径下的文件.



    参考 emacs 的实现方法:
    1. 编辑文件 a
    2. alt+x: shell, 切换路径 b
    3. ctrl+x ctrl+f , 直接打开了路径 b 下的文件

    可能的实现方法, 但具体实现没有弄明白?
    https://www.zhihu.com/question/278228687/answer/413375553
    ==>. 知乎中某人提供的想法
    ==>. 上述想法的官方解释:https://vim-jp.org/vimdoc-en/terminal.html
    The job can send JSON to Vim, using a special escape sequence. The JSON
    encodes a command that Vim understands. Example of such a message: >
    <Esc>]51;["drop", "README.md"]<07>
    12 条回复    2018-07-06 19:38:13 +08:00
    xiaocang
        1
    xiaocang  
       2018-07-03 19:18:24 +08:00
    有种简单有效的方法,不需要 vim 8.1 的新特性:
    1. vim 打开文件 a
    2. :tabe b 路径下文件(支持自动补全)
    VVVVVEX
        2
    VVVVVEX  
       2018-07-03 19:31:46 +08:00
    :e
    dychenyi
        3
    dychenyi  
       2018-07-03 20:16:32 +08:00
    补充 1 楼的, 一般:tabedit 会映射成,te, 打开这 2 文件然后 gt gT 切换就行了。一般应用场景就差不多了。 如果文件 b 在 a 文件中是路径,那么直接移到该处按 gf 就能打开,ctrl+o 再返回 a 文件。
    xunandotme
        4
    xunandotme  
       2018-07-03 20:20:54 +08:00
    :e +1
    Tetsuchou
        5
    Tetsuchou  
       2018-07-03 21:48:04 +08:00 via iPhone
    tmux ?
    quinoa42
        6
    quinoa42  
       2018-07-04 04:54:51 +08:00
    按照你的思路的话解决方案就是:
    http://vimdoc.sourceforge.net/htmldoc/remote.html ( vim )
    https://github.com/mhinz/neovim-remote ( neovim )
    当然我个人推荐用 tmux,开两个 vim,或者用一些便于找文件的 Plugin (比如 denite )来配合 tabe
    quinoa42
        7
    quinoa42  
       2018-07-04 04:55:55 +08:00
    忘了说了,split / vsplit 也可以用 denite 之类的来配合
    mengzhuo
        8
    mengzhuo  
       2018-07-04 09:58:08 +08:00
    :e
    然后可以用 Ctrl+W 分屏,bn 之类的切换
    插件可以用 CtrlP,模糊搜索。
    tonghuashuai
        9
    tonghuashuai  
       2018-07-04 10:04:34 +08:00
    我一般都是 :vs,要不就用 LeaderF
    zcodes
        10
    zcodes  
       2018-07-04 10:46:30 +08:00
    :tabedit 和 :lcd 了解下
    qanniu
        11
    qanniu  
    OP
       2018-07-05 00:02:01 +08:00 via iPhone
    @xiaocang
    @dychenyi
    感谢两位,但小弟是做 android 操作系统级别开发,涉及代码大概 170g 左右,路径很深,手动输入很累,一遍都是 godir,目前用 spacemac 基本满足预期
    nG29DOMuRYTWfcSr
        12
    nG29DOMuRYTWfcSr  
       2018-07-06 19:38:13 +08:00 via Android
    既然已经用上了 emacs,真没必要换回 Vim。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2840 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:20 · PVG 17:20 · LAX 01:20 · JFK 04:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.