vim project 迷思

2016-11-28 16:12:10 +08:00
 nlimpid
很多现代的编辑器都有 project 这么一个概念,虽然 project 的大部分作用还是限定代码的文件夹罢了,但多少还是有一些具体的配置的,如 sublime, vscode 都有。那么 vim 的 project 概念是如何呢?还是我需要转变观念?

另外一个与之有关的就是切换 project 。最近很喜欢 vscode 中的 Git project Manager 这个插件,以 git 仓库为 project 单位的做法觉得很赞,切换起来也很方便和自然。自然也想请求下 Vim 下是如何去管理和切换 project 的。
4376 次点击
所在节点    Vim
16 条回复
newbieooOO
2016-11-28 16:28:20 +08:00
session ?
可以 make 多个 session 文件,切换。
neo1218
2016-11-28 16:51:47 +08:00
vim 主要是和终端结合, 终端本身 project 目录切换就很方便了, cd 到不同的 project 目录下, 打开 vim 就可以快速编辑, 结合一些文件搜索、目录树管理、文件 session 切换, 就可以达到很快速的编辑效率.
git 也是一样, 终端里 git 命令操作也很方便.
我觉得单纯的 vim 很蛋疼...(比如 MacVim 这种 GUI 的 vim)没有 sublime, atom 这些编辑器开 vim-mode 好用, 但是 vim 和终端(tmux)结合, 就非常强大了!
sagaxu
2016-11-28 16:57:20 +08:00
之前用了十年 Vim ,直到用上 idea ,才觉得一年一千块钱掏的值,上了贼船下不去了
jiazhoulvke
2016-11-28 17:16:37 +08:00
我曾经也有这种需求,还为此开发了一个半成品的项目管理插件,后来发现其实用 xolox/vim-session 来管理 session 就好了。
FrankFang128
2016-11-28 17:18:27 +08:00
快点交钱给大 JB
SilentDepth
2016-11-28 17:24:14 +08:00
@FrankFang128 JetBrains?
nlimpid
2016-11-28 17:26:42 +08:00
@FrankFang128 JetBrains 对多 Project 管理好么?每次切换的时间应该更长吧...
adoyle
2016-11-28 17:37:22 +08:00
一切皆文件
KentY
2016-11-28 17:48:41 +08:00
vim 是编辑器, 不是集成开发环境, 就好像, 我几乎所有文本编辑都在 vim 里进行, 包括现在正在写的这个回复, 这怎么总弄个 project? vim.org 一上来对它的定义也是: Vim - the ubiquitous text editor
Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient. 当然, 非常多的人用它来编辑代码, 包括我. 实现你说的 project 功能 ,有很多 vim 插件来支持这个功能. 可是, 这不是 vim 的最基本需求, 它就是一个文本编辑器, 它可以作为代码编辑器用, 但不是专门写代码的东西. 所以它自身不带这个 project 功能. 上面说的 session 和 project 是两个概念.


@neo1218 tmux 出现比 vim 不知道晚了 10 几年, 它也并不是为了加强 vim 而出现的. 单一终端里 vim 也很好用, 如果长期习惯使用的话. vim 自身也有 split 和 tab(后者我不用, 用不惯)

@jiazhoulvke
我也是用了 vim 12,13 年左右的用户, 2013 开始公司要求用 idea(intellij), 对于 java, 比 eclipse (用了大概 8,9 年) 确实好用, 但是对我来说不可能替代 vim. 说它好用, 是对于 java 的一些开发特性考虑的很周到, 但是, 对于文本编辑, 我没办法离开那个 ideavim 插件, 虽然和真正的 vim 比捉襟见肘, 但是也比 idea 自己的编辑器好用很多. 也比 eclipse 的 vi-plugin 强很多, 至于 eclim, 我个人观点, 那东西就没法用.
kinghui
2016-11-28 18:24:48 +08:00
@KentY 我感觉 eclim 配上 YCM 挺好用的: https://asciinema.org/a/3j1912rpmsf2nyc4220suskq0
FrankFang128
2016-11-28 18:51:38 +08:00
@nlimpid 入职开 Idea ,离职关 Idea
FrankFang128
2016-11-28 18:51:55 +08:00
SilentDepth
2016-11-28 19:05:41 +08:00
@nlimpid 一个窗口一个 Project ,多个窗口多个 Project ,相互有关联就一个 Project 多个 Module (可以这么做的情况下)。我觉得想要用爽 JB IDE 还是有一定硬件配置门槛的,达到了这个标准那切 Project 的时间可以忽略不计。当然,你彻底关掉 IDE 再重开是另一回事了(不过真的有必要这样做吗?)
neo1218
2016-11-28 20:05:23 +08:00
@KentY 嗯, 我的意思是 vim 搭配 tmux 更佳, 单纯终端已经很好用了
sagaxu
2016-11-28 21:34:38 +08:00
@SilentDepth 有台式机 i3(笔记本 i5)就够了,每个 project 按照 1 到 2G 内存算,配 16G 内存可以同时开好几个了。很多功能在 Vim 里折腾起来太麻烦,还不一定能实现。
chemzqm
2016-11-29 02:15:20 +08:00
https://github.com/chemzqm/vim-easygit 就是一个以 git 目录做为根目录运行 git 命令的 vim 插件,主要是为了可以跳转其它项目文件后可以直接用 git ,免去再执行 cd 以及切换命令行的烦恼。
你也可以配置 `let g:easygit_auto_lcd = 1` 让文件切换后自动执行 lcd 命令到 git 目录下,方便使用其它基于 vim CWD 的命令。

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

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

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

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

© 2021 V2EX