Подтвердить что ты не робот

.vimrc для Python

Моя текущая конфигурация .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", он перейдет к НАЧАЛО следующей строки. Что я могу добавить, чтобы она автоматически меняла?

4b9b3361

Ответ 1

Короткий ответ заключается в том, что в вашем автозапуске отсутствует триггер 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 для получения дополнительной информации.

Ответ 2

Попробуйте следующее:

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

Ответ 4

Вам не нужно явно указывать ключевые слова python. Файл VIM/indent/python.vim позаботится об этом. Вам просто нужно включить отступ и автодомен типа filetype.

Ответ 5

I (просто) используйте это:

set shiftwidth=4
set tabstop=4
set expandtab
filetype plugin on
filetype indent on
syntax on

Ответ 6

Я бы сказал, что эта конфигурация обеспечивает что-то, не вызывая конфликтов (/etc/vim/vimrc):

" Python Setup
autocmd Filetype python setlocal ts=2 sw=2 expandtab
autocmd Filetype python set number
autocmd Filetype python set autoindent
autocmd Filetype python set expandtab
autocmd Filetype python set shiftwidth=4
autocmd Filetype python set cursorline
autocmd Filetype python set showmatch
autocmd Filetype python let python_highlight_all = 1
autocmd Filetype python set colorcolumn=80