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

2018-07-03 18:44:47 +08:00
 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>
3073 次点击
所在节点    Vim
12 条回复
xiaocang
2018-07-03 19:18:24 +08:00
有种简单有效的方法,不需要 vim 8.1 的新特性:
1. vim 打开文件 a
2. :tabe b 路径下文件(支持自动补全)
VVVVVEX
2018-07-03 19:31:46 +08:00
:e
dychenyi
2018-07-03 20:16:32 +08:00
补充 1 楼的, 一般:tabedit 会映射成,te, 打开这 2 文件然后 gt gT 切换就行了。一般应用场景就差不多了。 如果文件 b 在 a 文件中是路径,那么直接移到该处按 gf 就能打开,ctrl+o 再返回 a 文件。
xunandotme
2018-07-03 20:20:54 +08:00
:e +1
Tetsuchou
2018-07-03 21:48:04 +08:00
tmux ?
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
2018-07-04 04:55:55 +08:00
忘了说了,split / vsplit 也可以用 denite 之类的来配合
mengzhuo
2018-07-04 09:58:08 +08:00
:e
然后可以用 Ctrl+W 分屏,bn 之类的切换
插件可以用 CtrlP,模糊搜索。
tonghuashuai
2018-07-04 10:04:34 +08:00
我一般都是 :vs,要不就用 LeaderF
zcodes
2018-07-04 10:46:30 +08:00
:tabedit 和 :lcd 了解下
qanniu
2018-07-05 00:02:01 +08:00
@xiaocang
@dychenyi
感谢两位,但小弟是做 android 操作系统级别开发,涉及代码大概 170g 左右,路径很深,手动输入很累,一遍都是 godir,目前用 spacemac 基本满足预期
nG29DOMuRYTWfcSr
2018-07-06 19:38:13 +08:00
既然已经用上了 emacs,真没必要换回 Vim。

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

https://www.v2ex.com/t/467868

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

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

© 2021 V2EX