在Vim中,纠正所有行缩进的命令是什么?
通常情况下,我将代码复制并粘贴到远程终端,然后把整个事情搞砸了。我想一下子解决这个问题。
在Vim中,纠正所有行缩进的命令是什么?
通常情况下,我将代码复制并粘贴到远程终端,然后把整个事情搞砸了。我想一下子解决这个问题。
当前回答
如果你不想使用:设置粘贴,中键单击,设置不粘贴,你也可以粘贴剪贴板的内容:
"*p
"+p
这样你就不用离开正常模式了。 如果您必须粘贴+或*取决于您如何选择文本,请参阅:help quoteplus。
其他回答
vim-autoformat使用特定于你的语言的外部程序格式化你的源文件,例如Ruby文件的"rbeautify" gem, JavaScript文件的"js-beautify" npm包。
如果你不想使用:设置粘贴,中键单击,设置不粘贴,你也可以粘贴剪贴板的内容:
"*p
"+p
这样你就不用离开正常模式了。 如果您必须粘贴+或*取决于您如何选择文本,请参阅:help quoteplus。
=时,indent命令可以进行动作。gg表示文件的开始,=表示缩进,G表示文件的结尾,gg=G。
在粘贴到终端之前,尝试:set paste,然后在完成后:set nopaste。这将关闭自动缩进,换行和其他功能,使您的粘贴一团糟。
编辑:另外,我应该指出,使用外部程序通常可以获得比=缩进更好的结果。例如,我运行:%!一直都很整洁。也可以用style, cindent等。当然,你可以将这些映射到一个击键,并根据文件类型将不同的映射到相同的击键。
在Vim中,使用:insert。这将保留所有的格式,而不会自动缩进。有关更多信息帮助:插入。