24

我想将从桌面上剪切的内容粘贴到在 Vi 中打开的文件中。

但是,如果我将嵌入的选项卡粘贴到整个页面上。

我认为这是某种视觉模式更改,但找不到命令。

4

3 回答 3

52

如果您使用的是普通 vi:

你可能有autoindent。要在粘贴时将其关闭:

<Esc> :set noai

<paste all you want>

<Esc> :set ai

我有.exrc以下快捷方式:

map ^P :set noai^M
map ^N :set ai^M

请注意,这些必须是实际的控制字符 - 使用 - 插入它们Ctrl等等。V CtrlP

如果你使用 vim:

使用该paste选项。除了禁用autoindent它还会设置其他选项,例如textwidthwrapmargin粘贴友好的默认值:

<Esc> :set paste

<paste all you want>

<Esc> :set nopaste

您还可以设置一个键来切换粘贴模式。我.vimrc的有以下行:

set pastetoggle=<C-P> " Ctrl-P toggles paste mode
于 2008-09-12T12:14:02.100 回答
2

如果你使用VIM,你可以使用"*p(即双引号、星号、字母p)。

于 2008-09-12T12:09:39.990 回答
0

我发现如果我首先将选项卡行复制到文本编辑器中,然后将它们从那里重新复制到 vim,那么选项卡是正确的。

于 2008-09-12T19:32:20.923 回答