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

2018 年 7 月 3 日
 qanniu
需求场景:
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>
3857 次点击
所在节点    Vim
12 条回复
xiaocang
2018 年 7 月 3 日
有种简单有效的方法,不需要 vim 8.1 的新特性:
1. vim 打开文件 a
2. :tabe b 路径下文件(支持自动补全)
VVVVVEX
2018 年 7 月 3 日
:e
dychenyi
2018 年 7 月 3 日
补充 1 楼的, 一般:tabedit 会映射成,te, 打开这 2 文件然后 gt gT 切换就行了。一般应用场景就差不多了。 如果文件 b 在 a 文件中是路径,那么直接移到该处按 gf 就能打开,ctrl+o 再返回 a 文件。
xnplus
2018 年 7 月 3 日
:e +1
Tetsuchou
2018 年 7 月 3 日
tmux ?
quinoa42
2018 年 7 月 4 日
按照你的思路的话解决方案就是:
http://vimdoc.sourceforge.net/htmldoc/remote.html ( vim )
https://github.com/mhinz/neovim-remote ( neovim )
当然我个人推荐用 tmux,开两个 vim,或者用一些便于找文件的 Plugin (比如 denite )来配合 tabe
quinoa42
2018 年 7 月 4 日
忘了说了,split / vsplit 也可以用 denite 之类的来配合
mengzhuo
2018 年 7 月 4 日
:e
然后可以用 Ctrl+W 分屏,bn 之类的切换
插件可以用 CtrlP,模糊搜索。
tonghuashuai
2018 年 7 月 4 日
我一般都是 :vs,要不就用 LeaderF
zcodes
2018 年 7 月 4 日
:tabedit 和 :lcd 了解下
qanniu
2018 年 7 月 5 日
@xiaocang
@dychenyi
感谢两位,但小弟是做 android 操作系统级别开发,涉及代码大概 170g 左右,路径很深,手动输入很累,一遍都是 godir,目前用 spacemac 基本满足预期
nG29DOMuRYTWfcSr
2018 年 7 月 6 日
既然已经用上了 emacs,真没必要换回 Vim。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.xtra.eu.org/t/467868

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX