我当前的.vimrc配置如下:
set nohlsearch
set ai
set bg=dark
set showmatch
highlight SpecialKey ctermfg=DarkGray
set listchars=tab:>-,trail:~
set list
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent
set smartindent
syntax on
set listchars=tab:>-
set listchars+=trail:.
set ignorecase
set smartcase
map <C-t><up> :tabr<cr>
map <C-t><down> :tabl<cr>
map <C-t><left> :tabp<cr>
map <C-t><right> :tabn<cr>
但是,当我编写python脚本时,当我按下"ENTER“时,它会转到下一行的开头。我要添加什么才能让它自动为我制表符?
发布于 2009-10-06 03:54:17
简单地说,您的autocmd缺少BufEnter触发器,因此在您创建新文件时不会触发它。试着这样做:
au BufEnter,BufRead *.py setlocal smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
请注意,我还将set
更改为setlocal
。这将防止这些选项践踏您的其他缓冲区的选项。
做你想做的事情的“正确”方法是将filetype indent on
添加到你的.vimrc中。这将打开内置的基于文件类型的缩进。Vim附带Python缩进支持。有关详细信息,请参阅:help filetype-indent-on
。
发布于 2009-10-06 03:56:30
试试这个:
filetype indent on
filetype on
filetype plugin on
我主要做Python编程,这是我的vimrc的主要部分
set nobackup
set nowritebackup
set noswapfile
set lines=40
set columns=80
set tabstop=4
set shiftwidth=4
set softtabstop=4
set autoindent
set smarttab
filetype indent on
filetype on
filetype plugin on
发布于 2012-03-08 01:44:16
考虑查看以下PEP7&8约定的官方.vimrc。请到这里来
https://stackoverflow.com/questions/1523482
复制相似问题