19

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

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

但它变成

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

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

4

3 回答 3

36
:set paste

应该会导致缩进正常工作。正如 uku 指出的那样,您可以使用以下方式阅读有关粘贴模式的更多信息

:h paste

你可以关闭粘贴模式

:set nopaste
于 2013-01-28T00:29:34.397 回答
3

采用

:set paste

或者

:set noai

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

于 2013-01-28T01:07:43.490 回答
1

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

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)

希望这对其他人也有帮助。

于 2017-08-10T19:00:43.860 回答