感觉 MacVim 比终端 Vim 快好多

2020-08-02 21:21:39 +08:00
 xiaohanliang

环境

写 Go 的, 之前一直都是用的上面的组合, 然后就很卡顿, 是真的很卡顿, 光标移动卡顿, 敲字符卡顿, 补全也卡顿. 升级重装什么的都试过, 也没啥用, 周围的小伙伴有的也面临这种问题.

昨天心血来潮装了 MacVim. 一下子通畅了很多, 然后我就百思不得其解了, 有没有人知道这到底是因为什么?

7308 次点击
所在节点    Vim
29 条回复
tangbao
2020-08-02 21:23:34 +08:00
你试试 VIMR ?
xiaohanliang
2020-08-02 21:28:34 +08:00
@tangbao 谢谢哥们我觉得 MacVim 挺好了, 我就是有点搞不太明白为什么 MacVim 能快这么多, 仅仅是因为有了一个 GUI 的原因吗?
vk42
2020-08-02 21:32:17 +08:00
vim 的插件对性能影响很大,你把 nvim 配置文件夹改个名再试一下。
jmc891205
2020-08-02 21:32:33 +08:00
可能哪个插件对 neovim 支持不好?
dullwit
2020-08-02 22:01:21 +08:00
有可能是终端原因,试试有 gpu 加速的终端看看
xiaohanliang
2020-08-02 23:10:30 +08:00
@dullwit 嗯嗯, 刚在网上搜了一圈, 其中一个造成卡顿的原因, 就是你提到的"render"(界面绘制), 终端需要不停的 render, 才能把 vim 的界面绘制出来, 从这个角度出发, 有 GPU 加速就会快一些. 我在网上看他们说, 其中最大的因素他们说是因为:

> 是因为 vim 进程是一个 tmux fork 出来的进程, fork 出来的 vim 通过 ptty 将信息传递给 tmux, tmux 再传回给 zsh
> 最终得以绘制, 这么多级的传递造成了明显的延迟.

[Reference]( https://superuser.com/questions/657498/why-is-macvim-much-faster-than-vim-in-the-terminal)

但其实我对这种说法存疑, 我打开非 Golang 的项目, 比如一大堆 shell 脚本, 如果真的是 render 造成卡顿, 那么打开 shell 还是 golang 应该都很卡, 但实际上 shell 就比 golang 快很多.

那就还跟 vim-go 的套件有关, 但我的 MacVim 也一个不少的用了 vim-go 套件, 但 MacVim 就是快... 为啥呢... 玄学? Vim 玄学调参?
jessun1990
2020-08-02 23:13:28 +08:00
是 Mac 下的终端 vim 很慢。

Manjaro 终端下的 vim/neovim 都还是不错的。

终端试试 kitty ?
xiaohanliang
2020-08-02 23:15:16 +08:00
@jessun1990 谢谢, 赞同 , 我也觉得是跟终端有关
Chingim
2020-08-02 23:19:57 +08:00
确实如此.
就算用 Alacritty 这种有 GPU 加速的 terminal, 在 MacVIM 和 Vimr 这种 GUI 面前还是显得很弱

同一个大项目, 在终端里用 jk 移动光标都有点卡顿, 在 GUI 里就啥问题也没有
xiaohanliang
2020-08-02 23:22:19 +08:00
@Chingim +1 一点不错
billlee
2020-08-02 23:34:08 +08:00
这个至少控制一下变量,不要拿 neovim 和 vim 比吧? Tmux 确实很容易引起延迟问题,似乎是处理输入的时候等待转义序列引起的
nightwitch
2020-08-03 00:07:44 +08:00
https://github.com/tmux/tmux/issues/353 下面有很多网友的解决办法,可以挨个试试
Numbcoder
2020-08-03 00:58:56 +08:00
大概率是 tmux 的锅
limbo0
2020-08-03 01:13:12 +08:00
试了下确实快, 但是用 macvim 脱离终端有点不太方便, 有什么解决办法吗
xiaohanliang
2020-08-03 01:26:31 +08:00
@limbo0 一些简单常用的命令通过 :! 来做, 比如 :! pwd, 再多的暂时没更好的办法
xiaohanliang
2020-08-03 01:30:14 +08:00
Thanks♪(・ω・)ノ
xiaohanliang
2020-08-03 01:30:34 +08:00
@nightwitch Thanks♪(・ω・)ノ
yazoox
2020-08-03 08:23:09 +08:00
楼主,最后的结论是什么?是 tmux 的问题?还是 mac 下的 vim 就有问题?还是......
byzf
2020-08-03 15:08:01 +08:00
我基本上在无插件模式下试过所有的 vim 的 gui 组合, tmux 本身就慢, terminal 本身有个 bug 也会慢.
vimR 算快的, 但还是不够快, neovim 其它的 gui 可用性都有点问题. 最后选择了 vscodevim...
xiaohanliang
2020-08-03 16:13:38 +08:00
@byzf 可以的😂 折腾一圈还是 vscode 香, 我特么现在也有这种感觉, 反正也要搞 GUI, 为啥不直接用 vscode 呢? vscode 内部还集成了 terminal...😂

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

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

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

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

© 2021 V2EX