[英]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 on
和cindent
(似乎也已設置)。
這是測試您的配置是否正確的一種方法,然后保留您的配置以便 Vim 始終如此運行。 This font
表示應按字面輸入的文本,除了<CR>
表示按“Enter”或“Return”鍵。
:set ai?<CR>
):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.