关于unix:如何在vi中将自动缩进设置为on来剪切和粘贴选项卡线

How to cut and paste tabbed lines with auto indent set to on in vi

本问题已经有最佳答案,请猛点这里访问。

不确定哪个堆栈交换组这个问题如此,如果这是错误的,请转到正确的堆栈交换组。

发生的事情是,如果我从一个窗口/浏览器突出显示带有标签/缩进的内容并想要将其粘贴到vi中,则格式化会变得混乱。

例如,我在另一个要复制的窗口中有以下内容:

1
2
3
4
5
  "date_created" :"2013-06-06 21:12:31",
  "netdriver_duplex" :"Full",
  "mac_address" :"FA:16:3E:17:CC:E1",
  "interfaces" :"eth0,sit0",
  "processors" : null

突出显示并将其粘贴到vi后,我得到以下内容:

1
2
3
4
5
  "date_created" :"2013-06-06 21:12:31",
     "netdriver_duplex" :"Full",
        "mac_address" :"FA:16:3E:17:CC:E1",
           "interfaces" :"eth0,sit0",
              "processors" : null

有人告诉我,自动缩进让我搞砸了

1
2
3
ESC-> :set noai
Copy/Paste stuff
ESC-> :set ai

但这会在一段时间后变得累人。 在将自动注册设置为打开的情况下粘贴vi中的选项卡线时是否有解决方法?或者我是否必须每次都关闭自动缩进,粘贴,重新打开ai?

在此先感谢您的帮助。


您必须在正常模式下使用

1
:set paste

然后粘贴你想要的东西。 要恢复原始设置,请在正常模式下使用

1
:set nopaste