我如何使vi-Vim从来不使用制表符(将空格转换为制表符,坏!),使制表键== 4个空格,并自动缩进代码花括号块后像Emacs ?

此外,我如何保存这些设置,这样我就不必再次输入它们了?

我见过其他与此相关的问题,但它似乎总是有点偏离我想要的。


当前回答

相关的,如果你打开一个同时使用制表符和空格的文件,假设你有

set expandtab ts=4 sw=4 ai

可以将整个文件中的所有制表符替换为空格

:%retab

其他回答

获得特定于文件类型的缩进的最好方法是在vimrc中使用文件类型插件缩进。然后你可以在.vim/ftplugin/c中指定set sw=4 sts=4 et。例如,vim,而不必为所有被编辑的文件设置全局,其他非c类型的语法也会正确地缩进(甚至是口齿不清)。

在许多Linux系统上,如Ubuntu,默认情况下.vimrc文件不存在,因此建议您先创建它。

不要使用主目录中存在的.viminfo文件。它有不同的用途。

步骤1:进入主目录

cd ~

步骤2:创建文件

vim . vimrc

步骤3:添加上述配置

filetype plugin indent on
set tabstop=4
set shiftwidth=4
set expandtab

第三步:保存文件,按Shift + ZZ键。

最简单的是一个vim文件

set tabstop=4

毕竟,您可以编辑.vimrc,然后添加conf

set tabstop=4

或者执行命令

编辑~/.vimrc

$ vim ~/.vimrc

增加如下行:

set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab