當編輯PHP代碼(我不確定它是否特定於該語言),並且在跨越多行的逗號分隔列表中間創建一個新行時,縮進規則始終無意中我要離開的路線。 Here's a video of it.這發生在數組,函數參數列表等討厭的vim(聯合國)縮進規則
有什麼我可以做,以阻止這種情況發生,或任何更快的方法來修復錯誤,而不是向上移動,重新縮進它,向下移動,縮進(因爲當你離開線時它會被清除),並繼續?
當編輯PHP代碼(我不確定它是否特定於該語言),並且在跨越多行的逗號分隔列表中間創建一個新行時,縮進規則始終無意中我要離開的路線。 Here's a video of it.這發生在數組,函數參數列表等討厭的vim(聯合國)縮進規則
有什麼我可以做,以阻止這種情況發生,或任何更快的方法來修復錯誤,而不是向上移動,重新縮進它,向下移動,縮進(因爲當你離開線時它會被清除),並繼續?
嘗試:set indentexpr=""
,看看有沒有什麼幫助。有關處理文件類型插件的部分,請參閱:help filetype-indent-off
(這可能是indentexpr的來源)。
在正常模式下使用「o」似乎避免了這個問題。從插入模式打到<esc>o
並不是最佳選擇,但它比硬性方式更好(如上所述)。
試試這個:
:let g:PHP_default_indenting=1
見:h php-indent
。
您的縮進由PHP縮進腳本(您的.vimrc中的「filetype indent on」)控制。我使用這些選項對我的PHP縮進,這你把~/.vim/after/ftplugin
:
setlocal autoindent
setlocal cindent
setlocal cinwords=if,else,elseif,do,while,foreach,for,case,default,function,class,interface,abstract,private,public,protected,final
setlocal cinkeys=0{,0},0),!^F,o,O,e
setlocal nosmartindent " don't use smart indent option
有更多的vim wiki page for source indenting這個話題。
你也可以做
set cindkeys=-0#
對於字符#。如果你有同樣的問題,因爲我曾與CSS聲明像
width: 100%
越來越左移,以及,你可以添加
set cindkeys-=:
我覺得cindent
螺絲的一切行動和smartindent
通常是你想要的。
嘗試把這個在~/.vim/filetype.vim
:
au BufNewFile,BufRead *.html,*.css setlocal nocindent smartindent
你可能想看看indentkeys
例如默認的是這些天:
indentkeys = {0,0}:0 #,!^ F,o,O,e,*,< >> ,, end,:
找到您的php.vim縮進文件。例如在/ usr/share/vim目錄/ vim73 /縮進/ PHP。VIM
然後尋找這些行:
elseif lastline =~ '^\s*?>.*<?\%(php\)\=\s*$'
let lnum = lnum - 1
而且在前面加上引號,這樣他們註釋掉:
"elseif lastline =~ '^\s*?>.*<?\%(php\)\=\s*$'
" let lnum = lnum - 1
這將修復它!打開PHP標籤時沒有更多的縮進<?
繪圖變粗。如果我在列表中的第一個或第二個項目之後按Enter,似乎只能做到這一點。 – 2008-11-24 03:51:29
哦,嘿!我一直在尋找你的投資組合。我記得有一段時間看到它,但最近失去了鏈接。小世界:D – Karan 2008-11-24 04:12:18
如果您向我們展示您的〜/ .vimrc文件,並告訴我們您已安裝了哪些vim插件,可能會有所幫助。 – gpojd 2008-11-25 15:29:45