簡體   English   中英

vim:自動縮進不起作用

[英]vim: autoindent not working

我的自動縮進不起作用,是否有任何診斷測試來解決這個問題?

我的“:設置”是:

:set --- 選項 --- cindent laststatus=2 scroll=17
制表位 = 4 窗口 = 36
文件類型=cpp 編號
smartindent ttyfast
helplang=en 粘貼
語法=cpp ttymouse=xterm2
退格=縮進,eol,開始
文件編碼=utf-8
fileencodings=ucs-bom,utf-8,default,latin1 printoptions=paper:letter
運行時路徑=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim72,/usr/share/vim/vimfiles/after,/var/lib /vim/addons/after,~/.vim/after 后綴=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb, .ind、.idx、.ilg、.inx、.out、.toc

嘗試:

:set ai

或者:

:set autoindent

查找有關自動縮進的更多信息:

:h ai

否則,它可能與文件類型檢測有關。

我在indentexpr有一個陳舊的函數,它在更改文件類型后仍然存在。 這最終為我修復了它:

:set indentexpr=

萬一其他人面臨同樣的問題,我有一個類似的問題,上述問題都沒有解決。 對我來說錯誤的是標簽解釋。 這是使其工作的設置:

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

為了檢查縮進時縮進是否正確,我添加了以下內容,仍然在我的 vimrc 文件中:

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

如果縮進錯誤,則顯示“»”而不是常規的“·”。 非常便利。 希望能幫助到你。

我有同樣的問題,這些設置修復了它。

filetype on
filetype plugin on
filetype indent on

您可能應該關閉smartindent並使用:filetype indent oncindent (似乎也已設置)。

這是測試您的配置是否正確的一種方法,然后保留您的配置以便 Vim 始終如此運行。 This font表示應按字面輸入的文本,除了<CR>表示按“Enter”或“Return”鍵。

  • 使用新的主目錄創建一個新的系統用戶。
  • 啟動 Vim。 所有設置都應該設置,但是它們默認隨 Vim 一起提供。
  • 打開一個文件,比如 test.txt。
  • 確保啟用自動縮進( :set ai?<CR>
  • 證明自動縮進不會發生:
    • 輸入一兩個空格,然后按回車鍵。
    • 當光標前進到下一行時,它應該返回到第 1 列,即最左側的列。
  • 打開自動縮進( :set ai<CR>
  • 確保啟用自動縮進( :set ai?<CR>
  • 證明自動縮進發生:
    • 輸入一兩個空格,然后按回車鍵。
    • 當光標前進到下一行時,它應該仍然在同一列中。
  • 使用:mkvimrc<CR>

希望有幫助! 以下是一些其他注意事項:

“當設置 'paste' 選項時,'autoindent' 選項被重置”。 因此,請嘗試從您的設置( vim-options )中刪除“粘貼”。

我有同樣的問題,我嘗試了很多命令,都失敗了。
最后,我使用以下命令,它有效:
autocmd VimEnter * set autoindent
這不是一個優雅的方法,但是,它確實有效。

:set smartindent? 顯示: nosmartindent

然后用:set smartindent激活它為我解決了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM