2017-07-14 37 views
2

創建Python文件塊我要爲大家介紹的新線路標籤字符在vim的Python文件創建一個新的塊。在新的生產線引進<Tab>在vim

當我寫

if(a < 5): 

並按輸入,光標應進來下一行用標籤後如果在垂直取向從上面的線。這樣

if(a < 5): 
    a = 5 

東西我已經配置我的.vimrc文件中這樣

set nu 
set autoindent 
set tabstop=4 
syntax enable 
set showmatch 
colorscheme gruvbox 
set bg=dark 

"automatically creates a block after : 
autocmd FileType python inoremap :<CR> :<CR><Tab> 

注:
1)最後一行,我已經寫在我的問題中提到的預期目的。
2) autoindent設置。
3)我不想使用任何插件。

問題,我面對:

當我按下輸入:,除了標籤,還創建了一個額外的空間,產生錯誤的壓痕。

在此先感謝幫助

+0

人們通常希望在源代碼中避免使用 char。爲什麼你想要它? – dlmeetei

+0

我只是想要完美的縮進。我用java代碼,我使用縮進標籤。只是舊習慣。 – Manya

+0

python ftplugin將處理縮進。你不需要映射 – dlmeetei

回答

3

您試圖做到這一點的方式是艱難的。有一個文件類型插件和一個Python語法類型,它已經知道該怎麼做。

filetype plugin indent on 

,不使用set autoindent。它不是很聰明,它只是複製上一行的縮進。這與你想要做的事情相反。

.py結尾的文件應該自動獲得正確的設置。如果您需要強制當前的語法類型在緩衝區中,你可以做到這一點與

:set filetype=python 

如果您想使用標籤代替空格,

" Globally 
set noexpandtab 

" Python only 
autocmd FileType python set noexpandtab 

不過,我會注意的是使用不推薦使用Python中的選項卡,並且違反已發佈的最佳做法(請參閱PEP 8)。

最後我會提到「插件」只是一個Vim術語。所有這些默認都附帶Vim,這不會創建第三方依賴關係。

+0

其實我不想使用任何插件。希望通過配置.vimrc文件自行完成。我應該在問題 – Manya

+0

中寫下這個問題,謝謝@Dan Lowe。我知道了,並改變了我的配置,並像魅力一樣工作。非常感謝。還有一個問題與上述問題鬆散相關。我可以在哪裏瞭解更多關於配置.vimrc文件和獲得vim知識的信息。並再次感謝。 :) – Manya

+0

@Manya Drew尼爾在http://vimcasts.org/和Practical Vim的書很好 - 你也可以看看https://vi.stackexchange.com/這是一個專門用於vi和vim的stackoverflow姐妹網站。另外Vim中的':help'是一個非常全面的文檔資源。 –