2011-03-29 93 views
1

我在Windows下使用Notepad ++很長一段時間。但是我在配置方面遇到太多麻煩。它會不時突然改變我的縮進配置。所以我決定把我的編輯改爲Vim。正如你可能猜到的那樣,這是一個很大的改變:P,所以我想知道我需要知道我在用PHP開發時需要記住什麼。我想每次使用沒有BOM的UTF-8,即使原始文件沒有使用這種編碼。現在我已經想通了,這在我的_vimrc(順便說一句,這是做了正確的地方?):替換Notepad ++ for Vim(我使用PHP)。我必須知道什麼?

set smartindent 
set tabstop=4 
set shiftwidth=4 
set expandtab 
set number 

setglobal nobomb 
setglobal fileencodings=utf-8,usc-bom,latin1 
setglobal encoding=utf-8 

我是否有文件中配置這些選項_vimrc所以每次我打開Vim的需要考慮到這些配置?我應該使用哪些其他配置?我想要4個空格而不是製表符,我發現前4個選項可以做到這一點。

+1

vim有一個陡峭的學習曲線,它不像使用記事本這樣易於使用的IDE,但是一旦你學會了它,你將永遠不會回頭! – Drewdin 2011-03-29 18:52:43

+0

我已經閱讀過像你這樣的評論。這就是我爲什麼要轉移到Vim的原因。這絕對是一個完全不同的環境,但到目前爲止,它似乎很有趣:) – Adrian 2011-03-29 19:40:09

+0

我從O'Reilly,Learning vi/vim那裏得到了一本好書。它幫助我 – Drewdin 2011-03-29 20:51:30

回答

1

在Microsoft Windows系統上,_vimrc文件是將想要應用於所有vim運行的配置項的正確位置。在Linux/Unix系統上,該文件被命名爲.vimrc

如果你想要一個設置,你總是可以輸入:,然後輸入配置命令。 vimrc文件基本上在編輯會話開始之前運行這些命令。

由於文件存在於會話之間,並且每次運行vim時都默認讀取,所以每次運行vim時都不需要配置這些選項。如果你想改變你的設置,編輯vimrc文件將保留所有將來啓動vim的變化。

set expandtab自動將空格替換爲製表符。 set tabstop=4表示標籤的寬度等於四個空格。 set smartindent表示您希望vim的文件檢測例程在您鍵入時根據文件類型規範中編碼的規則進行縮進。這意味着對於.c文件,大括號內的信息將在大多數正常的打字情況下自動縮進(之後編輯可撤銷自動添加的字符)。 set shiftwidth=4表示代碼縮進>><<控件應該縮進四個空格。

請注意,可以將vim設置嵌入到某些文件的註釋部分。在這種情況下,嵌入式設置將應用於正在編輯的文件,並且不會對該文件產生影響。在vi中,輸入:h modeline以獲取詳細信息。

+0

非常感謝洞察力:)以及文件編碼?我所擁有的就足以處理我以UTF-8打開的所有文件而無需BOM? – Adrian 2011-03-29 19:36:25

+0

對於文件編碼,看看VIM':幫助fileencodings' – 2011-03-29 20:40:33

+0

是的,在我的vimrc文件我用: setglobal nobomb setglobal fileencodings = UTF-8,USC-BOM,LATIN1 setglobal編碼= UTF-8 使用它,它是否將所有文件處理爲UTF-8沒有BOM? – Adrian 2011-03-29 20:57:14

相關問題