题
我想将从桌面剪切的内容粘贴到在 Vi 中打开的文件中。
但是,如果我将选项卡粘贴到页面上的彼此之上。
我认为这是某种视觉模式的改变,但找不到命令。
解决方案
如果您使用普通 vi:
你可能有 autoindent
在。要在粘贴时将其关闭:
<Esc> :set noai
<paste all you want>
<Esc> :set ai
我在我的 .exrc
以下快捷键:
map ^P :set noai^M
map ^N :set ai^M
请注意,这些必须是实际的控制字符 - 使用以下命令插入它们 控制键-V 控制键-磷 等等。
如果您使用的是 vim:
使用 paste
选项。除了禁用之外 autoindent
它还会设置其他选项,例如 textwidth
和 wrapmargin
粘贴友好的默认值:
<Esc> :set paste
<paste all you want>
<Esc> :set nopaste
您还可以设置一个键来切换粘贴模式。我的 .vimrc
有以下行:
set pastetoggle=<C-P> " Ctrl-P toggles paste mode
其他提示
如果您使用 VIM,则可以使用“*p(即双引号、星号、字母 p)。
我发现如果我首先将制表符行复制到文本编辑器中,然后将它们从那里重新复制到 vim,那么制表符是正确的。
不隶属于 StackOverflow