【问题标题】:How do you paste multiple tabbed lines into Vi? [closed]如何将多个选项卡行粘贴到 Vi 中? [关闭]
【发布时间】:2010-09-08 16:42:35
【问题描述】:

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

但是,如果我将嵌入的标签粘贴到页面上。

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

【问题讨论】:

  • 这不是题外话,人们仍然在 vi 和 vim 中编程
  • 这个问题不是题外话。我刚来这里是因为我在编程时试图将粘贴复制到 vi 中并且遇到自动缩进的问题。
  • 在 Unix 上你可以使用 :r!cat ,然后粘贴,完成后输入

标签: vim vi


【解决方案1】:

如果你使用的是普通 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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-07
        • 1970-01-01
        • 1970-01-01
        • 2020-10-01
        • 2019-01-31
        • 2012-08-31
        相关资源
        最近更新 更多