如何将多个标签行粘贴到Vi中?

时间:2008-09-12 11:59:16

标签: vim vi

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

但是如果我粘贴在页面上相互叠加的标签。

我认为这是某种视觉模式的改变,但无法找到命令。

3 个答案:

答案 0 :(得分:49)

如果你使用普通的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 Ctrl - P 等等。

如果你正在使用vim:

使用paste选项。除了停用autoindent之外,它还会将其他选项(例如textwidthwrapmargin)设置为粘贴友好默认值:

<Esc> :set paste

<paste all you want>

<Esc> :set nopaste

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

set pastetoggle=<C-P> " Ctrl-P toggles paste mode

答案 1 :(得分:2)

如果您使用的是VIM,则可以使用“* p(即双引号,星号,字母p)。

答案 2 :(得分:0)

我发现如果我先将标签行复制到文本编辑器中然后从那里重新复制到vim,那么标签就是正确的。