gpt4 book ai didi

linux - 从 vim 中调用 vi(对 svn 提交很有用)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:24:59 24 4
gpt4 key购买 nike

我使用的是 RedHat EL 5。我使用的是使用 GTK 编译的 gvim 7.1。我想要的是能够从 gvim 中执行 svn 提交(使用 vi/vim)。目前唯一的问题是我得到的输出是乱码。例如,调用 :!vi 从 gvim 中生成:

[7;1H~
[8;1H~
[9;1H~
[10;1H~
[11;1H~
[12;1H~
[13;1H~
[14;1H~
[15;1H~
[16;1H~
[
17;1H~
[18;1H~
[19;1H~
[20;1H~
[21;1H~
[22;1H~
[23;1H~
[24;1H~
[25;1H~
[26;1H~
[27;1H~
[28;1H~
[29;1H~
[30;1H~
[31
;1H~
[32;1H~
[33;1H~
[34;1H~
[35;1H~
[36;1H~
[37;1H~
[38;1H~
[39;1H~
[15;42HVIM - Vi IMproved[17;43Hversion
7.0.237[18;39Hby Bram Moolenaar et al.[19;29HVim is open source and freely distributable[21;36HHe
lp poor children in Uganda![22;28Htype :help iccf<Enter> for information [24;28Htype :q<En
ter> to exit [25;28Htype :help<Enter> or <F1> for on-line help[26;28Htyp
e :help version7<Enter> for version info[1;1H

我如何配置 vi/vim/gvim 来解决这个问题,从而使我的 svn 提交在从 gvim 调用时看起来正确。

谢谢,那鸿

最佳答案

不要使用 vi 作为命令,使用 gvim -f 代替。

问题是 vi(或控制台中的 vim)需要一个终端来做一些事情,比如四处移动光标等等。gvim 的 pty 是一个非常基本的纯 ASCII 终端。

普通的 vim 没有这个问题,因为它只是将子进程直接通过管道传输到您的终端,因此所有转义序列仍然有效。

你可以使用 gvim -f 来代替,这样一个新的 gvim 窗口会为你的提交信息弹出。 (-f 防止后台处理)这不是您所要求的(因为您获得了一个新窗口)但它是您在不向 vim 添加完整终端支持的情况下最接近您所要求的内容.

关于linux - 从 vim 中调用 vi(对 svn 提交很有用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9235498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com