vi用格式化粘贴混乱

时间:2013-01-28 00:28:19

标签: vim vi

当我在终端上打开vim编辑器时,我将以下文本从其他来源复制到剪贴板

    int thisVal = findMin(m);
    // System.out.println(val);
    m.add(val);

但它变成了

                int thisVal = findMin(m);
                // System.out.println(val);
                //                      m.add(val);

为什么会出现这种情况以及如何正确粘贴格式? 谢谢。

3 个答案:

答案 0 :(得分:21)

:set paste

应该导致缩进正常工作。正如uku所指出的,您可以使用

阅读有关粘贴模式的更多信息
:h paste

您可以使用

关闭粘贴模式
:set nopaste

答案 1 :(得分:3)

使用

:set paste

或者

:set noai

Noai(无自动缩进)可以使用:set ai

再次禁用

答案 2 :(得分:0)

为了永久保存定义的变量:

vi ~/.vimrc

添加以下内容,保存&出口

:set paste #will enable the paste mode as answered above
:set nu #this will show the line numbers for editor

可以从以下列表中添加一些其他允许的参数:

autoindent(ai)
autowrite(aw)
exrc(ex)
errorbells
flash
ignorecase(ic)
lisp
list
magic
modelines
number(nu)
showmatch(sm)
showmode(smd)
wrapscan(ws)

希望这也有助于其他人。