每当我从Chrome复制已缩进Vim的文本时,都会得到级联缩进而不是一致的缩进,因此:
def fn(x):
"""Takes x as an input and returns y
if x:
return y
Run Code Online (Sandbox Code Playgroud)
变成:
def fn(x):
"""Takes x as an input and returns y
if x:
return y
Run Code Online (Sandbox Code Playgroud)
如何防止这种情况发生(首选),或者如何使用其他vim命令快速固定间隔(可接受)?
CTRL-C
,切换到vim并插入模式SHIFT-CTRL-V
。使用终端/操作系统的任何默认方法(菜单,上下文菜单,快捷方式,鼠标等)进行粘贴时,不会粘贴文本:将其插入,就像您键入时一样。因为您启用了自动缩进,所以Vim缩进每行,最终导致阶梯效果(地狱)。
您有两个选择...
paste/nopaste
和/或pastetoggle
:
您可以:set paste
在粘贴之前禁用自动缩进和格式化,然后再进行格式化:set nopaste
。
如果您决定走这条路,建议您阅读一下,:h pastetoggle
以使整个过程省一点税。
Vim自己的命令和剪贴板集成:
如果您的Vim版本附带剪贴板支持,则可以使用"+p
或"*p
从其他程序粘贴,而不会产生副作用。
大多数操作系统随附的默认Vim是“小型”构建,可能缺少许多有用的功能。如果打算将Vim用作编程的主要编辑器,建议安装剪贴板支持附带的更强大的版本。在基于Debian的系统上,最佳选择通常是“ vim-gtk”或“ vim-gnome”。在Arch上,我认为您必须安装“ gvim”软件包。
归档时间: |
|
查看次数: |
1104 次 |
最近记录: |