Vim在使用tmux时出现问题

17

enter image description here

在tmux会话中,NERDTree在分割窗口时出现了问题,就像图片中展示的那样。但是现在我正在使用powerline。这次,在tmux中Vim状态也出现了问题(请看图片中状态栏中间部分)。出了什么问题?


Powerline 是错误的。你尝试过它的问题跟踪器吗? - romainl
问题跟踪器?你是说powerline问题是另一个问题吗?我认为这种奇怪的行为是相互关联的。每次我分割屏幕并切换到特定屏幕时,线条会重叠并且一团糟。只在tmux会话中发生。我不认为这是powerline问题。 - Vysakh Sreenivasan
4
在tmux内外,您的$TERM是什么? - romainl
@romainl Powerline 没有错。尝试将 statusline 设置为大于屏幕宽度的 a 的数量(let &stl=repeat('a', &columns*2))。您将看到以 <aaaaa 开头和以 aaa 结尾的状态行。不是像上面显示的两行状态行。 - ZyX
@romainl,即使Powerline超出了可用宽度,您只会看到被截断的状态栏。但是,如果vim认为可用的垂直空间比实际宽,则会看到上面的图片。Powerline也从vim中获取宽度。 - ZyX
显示剩余3条评论
1个回答

26

在 GitHub 上查看了一个点文件仓库后,我花费了很长时间才找到解决方案。只需要添加一行代码即可使 VimTmux 之间的通信更加顺畅。

.tmux.conf 文件中添加这一行即可。

set-window-option -g utf8 on

1
谢谢。我的工作一直很完美,直到有一天开始表现得类似。这个修复了问题。不过Powerline字体显示不正确,但至少Vim又变得正常了。 - russoue
太好了 :) 要修复 Powerline 字体,您需要根据您的操作系统安装一些库,也许这会有所帮助 https://github.com/Lokaltog/powerline-fonts - Vysakh Sreenivasan
这证明了 Vim 的长寿。一个三年以上的解决方案仍然有效。在我重新启动终端之后,这个解决方案才对我起作用。 - Isaac Pak
1
不再起作用了。在更改配置后,当我进行源操作时,会出现“无效选项utf8”。 - michaelAdam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接