gpt4 book ai didi

vim - 从 Chrome 复制和粘贴时 Vim 中的额外间距

转载 作者:行者123 更新时间:2023-12-04 20:28:06 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Pasting code into terminal window into vim on Mac OS X

(6 个回答)


7年前关闭。




每当我从 Chrome 复制已缩进到 Vim 的文本时,我都会得到级联缩进而不是一致缩进,因此:

def fn(x):
"""Takes x as an input and returns y
if x:
return y

变成:
def fn(x):                                                                  
"""Takes x as an input and returns y
if x:
return y

如何防止这种情况(首选),或者如何使用其他 vim 命令(可接受)快速修复间距?

额外信息
  • Arch Linux 上的 vim 7.4、 Chrome 34
  • 复制方法:在 Chromium 中突出显示(鼠标或其他方式),CTRL-C , 切换到 vim 和插入模式, SHIFT-CTRL-V .
  • 最佳答案

    当您使用任何终端/操作系统的默认方法(菜单、上下文菜单、快捷方式、鼠标...)粘贴时,不会粘贴文本:它会像您键入一样插入。因为您启用了自动缩进,所以 Vim 会缩进每一行,您最终会得到阶梯( hell )效果。

    你有两个选择……

  • paste/nopaste和/或 pastetoggle :

    你可以做:set paste在粘贴之前禁用自动缩进和格式设置并执行 :set nopaste之后。

    如果你决定走那条路,我建议你阅读 :h pastetoggle让整个过程少一点负担。
  • Vim 自己的命令和剪贴板集成:

    如果你的 Vim 版本支持剪贴板,你可以使用 "+p"*p从其他程序粘贴而没有副作用。

    大多数操作系统附带的默认 Vim 是一个“小”构建,可能缺少许多有用的功能。如果你打算使用 Vim 作为你的主要编程编辑器,建议安装一个带有剪贴板支持的更强大的构建。在基于 Debian 的系统上,最佳选择通常是“vim-gtk”或“vim-gnome”。在 Arch 上,我认为你必须安装“gvim”包。
  • 关于vim - 从 Chrome 复制和粘贴时 Vim 中的额外间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23276118/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com