在 vi 编辑器中复制/粘贴一行

在 vi 编辑器中复制/粘贴一行

我在 vi 中复制/粘贴一组行时遇到了一个奇怪的问题。例如,假设我们有一组如下行:

AAAAAAAA   AAAAAAAAAAAAAA
BBBBBB  BBBBB   BBBBBBBBBB
CCCCC    CCC  CCCCCCCC  CCCC

如果我复制这些行并粘贴,这些行将像这样粘贴

AAAAA AAAAAAAAAA
            BBBBBBBB    BBBBBB  BBBBBBBBBBB
                      CCCCC  CCC  CCCCCCCC  CCCC

TERM 环境变量的值为vt320。我不知道这是否有效果。但之前它有效。我使用 putty 打开了一个会话。有什么线索吗?

答案1

这可能是因为这个paste选项。来自:h paste

                        *'paste'* *'nopaste'*
'paste'         boolean (default off)
            global
            {not in Vi}
    Put Vim in Paste mode.  This is useful if you want to cut or copy
    some text from one window and paste it in Vim.  This will avoid
    unexpected effects.
    Setting this option is useful when using Vim in a terminal, where Vim
    cannot distinguish between typed text and pasted text.  In the GUI, Vim
    knows about pasting and will mostly do the right thing without 'paste'
    being set.  The same is true for a terminal where Vim handles the
    mouse clicks itself.

我认为这种情况发生是因为你有一些缩进设置,所以当你粘贴时,vim 会认为你在输入而不是粘贴,并自动添加必要的缩进。如果你:set paste,它将停止这样做。

当然,另一个解决方案是使用 gvim 代替终端。此选项是否值得由您决定。

相关内容