不确定该问题属于哪个堆栈交换组,因此如果是错误的,请移至正确的组。
发生的情况是,如果我在一个窗口/浏览器中使用制表符/缩进突出显示某些内容并想将其粘贴到 vi 中,格式就会变得混乱。
例如,我想复制另一个窗口中的以下内容:
"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 中后,我得到以下内容:
"date_created" : "2013-06-06 21:12:31",
"netdriver_duplex" : "Full",
"mac_address" : "FA:16:3E:17:CC:E1",
"interfaces" : "eth0,sit0",
"processors" : null
有人告诉我自动缩进让我很困惑,然后运行
ESC-> :set noai
Copy/Paste stuff
ESC-> :set ai
但一段时间后,这会让人感到厌倦。在将自动缩进设置为开启的情况下,在 vi 中粘贴制表符行时,有没有解决方法,还是每次都要关闭自动缩进、粘贴,然后再打开 ai?
在此先感谢您的帮助。
答案1
你正在使用i<Ctrl>V
粘贴吗?请尝试使用"+p
。
每当我尝试使用操作系统的复制粘贴方法而不是使用 vim 的方法时,我都会发现这个问题。如果您在插入模式下尝试粘贴,vim 会认为您输入得非常快,而不是粘贴。在这种情况下,它不知道如何保留格式。
但是,如果您退出插入模式Esc
,然后从寄存器+
(操作系统缓冲区的别名)粘贴,它就可以起作用。
因此,"+p
。
请注意,在 X-11 上,您还可以使用寄存器*
访问 X11 选择。此外,只有当 vim 已编译 X11 集成支持时,上述任一方法才有效。不过,对于vim
和 都有效gvim
。