Copy/Pasting DOCTYPE 标记到 Vi 文档中

Copy/Pasting DOCTYPE Tag Into Vi Document

我正在使用 PuTTy 远程连接到 Unix 机器 (HP-UX) 并要求 copy/paste XSD 手动将模式内容写入文件(不幸的是,不允许 SCPsftp)。

我首先要做的是取消设置 Vi (:set noautoindent) 的自动缩进行为,但是,当我 copy/paste 内容时,我请注意以下代码片段,

<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
        "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
...

复制如下:

CTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
        "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
...

这让我手动复制序言行并键入 <!DODOCTYPE 行的开头。其他一切都被正确复制。为什么 copy/pasting into Vi 省略了前两行?

您可能忘记先进入 insert 模式。剖析您的输入,

  • < 从此处取消缩进到 ...

    • ? 向后搜索...

      • xml version="1.0"?> <Return>

      (可能找不到任何东西,因此留在原地)

    (因此将当前行缩进 1 — 因为它是空的所以什么都不做)

  • < 从此处取消缩进到 ...

    • !(什么都不做)
  • D 删除当前行(空的,几乎什么都没有)
  • O 在当前
    上方的 新行中进入插入模式 (从而反转空行的删除)
    • CTYPE…(其余文本按预期显示)