vim:autoindent不工作

时间:2010-10-15 00:29:01

标签: vim vi

我的autoindent无法正常工作,有任何诊断测试可以解决这个问题吗?

我的“:set”是:

  

:集   ---选项--- cindent laststatus = 2 scroll = 17
  tabstop = 4 window = 36
  filetype = cpp number
  聪明的ttyfast
  helplang = en paste
  syntax = cpp ttymouse = xterm2
  退格=缩进,EOL,启动
  fileencoding = UTF-8
  fileencodings = UCS-BOM,UTF-8,缺省情况下,LATIN1   的printoptions =纸:信
  runtimepath =〜/ vim的,在/ var / lib中/ VIM /插件,在/ usr /共享/ VIM / vimfiles,在/ usr /共享/ VIM / vim72,在/ usr /共享/ VIM / vimfiles / AF   之三,在/ var / lib中/ VIM /插件/后,〜/ vim的/后   后缀= .BAK,〜,.SWP,即.o,.INFO,.aux,的.log,的.dvi,.bbl,的.blg,.brf,.CB,.IND,.IDX,.ilg,.INX ,.出,.TOC

9 个答案:

答案 0 :(得分:10)

尝试:

:set ai

或:

:set autoindent

了解有关自动缩进的更多信息:

:h ai

否则,它可能是文件类型检测的东西。

答案 1 :(得分:7)

您应该关闭smartindent并使用:filetype indent oncindent(似乎也设置了)。

答案 2 :(得分:6)

我遇到了同样的问题,这些设置修复了它。

filetype on
filetype plugin on
filetype indent on

答案 3 :(得分:2)

这是测试配置是否正确的一种方法,然后保留配置,以便Vim始终如此运行。 This font表示应按字面输入的文字,但<CR>表示按“Enter”或“Return”键。

  • 使用新的主目录创建新的系统用户。
  • 启动Vim。应设置所有设置,但默认情况下它们随Vim一起提供。
  • 打开一个文件,比如test.txt。
  • 确保启用了autoindent(:set ai?<CR>
  • 证明自动注册不会发生:
    • 键入一两个空格,然后按Enter键。
    • 当光标前进到下一行时,它应该返回到第1列,即最左边的列。
  • 启用自动投注(:set ai<CR>
  • 确保启用了autoindent(:set ai?<CR>
  • 证明自动发生:
    • 键入一两个空格,然后按Enter键。
    • 当光标前进到下一行时,它应该仍在同一列中。
  • 使用:mkvimrc<CR>保留自动注册。

希望有所帮助!以下是其他一些注意事项:

  • 这些说明可能特定于从左到右的区域设置。
  • Here's my vimrc

答案 4 :(得分:2)

如果其他人遇到同样的问题,我遇到了类似的问题,以上都没有修复。 对我来说错误的是标签解释。这是使它工作的设置:

set expandtab
set tabstop=2
set shiftwidth=2
set autoindent
set smartindent

如果缩进是正确的,要检查缩进的时间,我在我的vimrc文件中添加了以下内容:

" helper for indent mistake
set list listchars=tab:»·,trail:·

如果我的缩进错误,那么显示“»”而不是常规的“·”。非常便利。 希望它有所帮助。

答案 5 :(得分:0)

我遇到了同样的问题,我尝试了很多命令,都失败了 最后,我使用以下命令,它的工作原理:
autocmd VimEnter * set autoindent
这不是一种优雅的方法,但确实有效。

答案 6 :(得分:0)

我在indentexpr中有一个过时的功能,在更改文件类型后会保留。这最终为我解决了这个问题:

:set indentexpr=

答案 7 :(得分:0)

“设置了“粘贴”选项后,“自动缩进”选项将重置”。因此,请尝试从您的设置(vim-options)中删除“粘贴”。

答案 8 :(得分:0)

var result = (await _context.Items .Select(p => new { p.ParentAId, p.ParentBId }) .Distinct() .ToListAsync()) // When EF supports mentioned cases above, you can remove this line! .GroupBy(i => i.ParentBId, i => i.ParentAId) .ToDictionary(g => g.Key, g => g.Distinct().Count()); 显示:install(DIRECTORY data/ DESTINATION usr/bin)

然后用:set smartindent?激活它为我解决了问题。