У мене проблеми з налаштуванням Vim (7.1.xxx) для редагування файлів Python (* .py). Відступ, здається, порушений (оптимально 4 пробіли). Я дотримувався деяких підручників, які знайшов через Google. Все одно ніякого ефекту: / Будь ласка, допоможіть.
У мене проблеми з налаштуванням Vim (7.1.xxx) для редагування файлів Python (* .py). Відступ, здається, порушений (оптимально 4 пробіли). Я дотримувався деяких підручників, які знайшов через Google. Все одно ніякого ефекту: / Будь ласка, допоможіть.
Відповіді:
Я використовую це у своєму macbook:
" configure expanding of tabs for various file types
au BufRead,BufNewFile *.py set expandtab
au BufRead,BufNewFile *.c set expandtab
au BufRead,BufNewFile *.h set expandtab
au BufRead,BufNewFile Makefile* set noexpandtab
" --------------------------------------------------------------------------------
" configure editor with tabs and nice stuff...
" --------------------------------------------------------------------------------
set expandtab " enter spaces when tab is pressed
set textwidth=120 " break lines when line length increases
set tabstop=4 " use 4 spaces to represent tab
set softtabstop=4
set shiftwidth=4 " number of spaces to use for auto indent
set autoindent " copy indent from current line when starting a new line
" make backspaces more powerfull
set backspace=indent,eol,start
set ruler " show line and column number
syntax on " syntax highlighting
set showcmd " show (partial) command in status line
(відредаговано лише для показу матеріалів, пов’язаних із відступом / вкладками)
Я використовую:
$ cat ~/.vimrc
syntax on
set showmatch
set ts=4
set sts=4
set sw=4
set autoindent
set smartindent
set smarttab
set expandtab
set number
Але я збираюся спробувати записи Дарен
smartindent
він підходить лише для редагування файлів C, а не файлів Python (і в будь-якому випадку вже застарів; див. Stackoverflow.com/a/234578/37639 ).
Більш простий варіант: просто розкоментуйте наступну частину конфігурації (яка спочатку закоментована) у файлі / etc / vim / vimrc:
if has("autocmd")
filetype plugin indent on
endif
Я використовую vimrc у репозиторії python серед іншого:
http://svn.python.org/projects/python/trunk/Misc/Vim/vimrc
Я також додаю
set softtabstop=4
Переконайтеся, що ви редагуєте правильний файл конфігурації для VIM. Особливо, якщо ви використовуєте вікна, де файл може бути названий _vimrc замість .vimrc, як на інших платформах.
У типі vim
:help vimrc
і перевірте шлях до файлу _vimrc / .vimrc за допомогою
:echo $HOME
:echo $VIM
Переконайтесь, що ви використовуєте лише один файл. Якщо ви хочете розділити свою конфігурацію на менші шматки, ви можете отримати інші файли з вашого файлу _vimrc.
:help source
Поєднуючи рішення, запропоновані Дареном і Таносом, ми маємо хороший файл .vimrc.
-----
" configure expanding of tabs for various file types
au BufRead,BufNewFile *.py set expandtab
au BufRead,BufNewFile *.c set noexpandtab
au BufRead,BufNewFile *.h set noexpandtab
au BufRead,BufNewFile Makefile* set noexpandtab
" --------------------------------------------------------------------------------
" configure editor with tabs and nice stuff...
" --------------------------------------------------------------------------------
set expandtab " enter spaces when tab is pressed
set textwidth=120 " break lines when line length increases
set tabstop=4 " use 4 spaces to represent tab
set softtabstop=4
set shiftwidth=4 " number of spaces to use for auto indent
set autoindent " copy indent from current line when starting a new line
set smartindent
set smarttab
set expandtab
set number
" make backspaces more powerfull
set backspace=indent,eol,start
set ruler " show line and column number
syntax on " syntax highlighting
set showcmd " show (partial) command in status line
для більш просунутого редагування на python розгляньте можливість встановлення плагіна vim simplefold це дозволяє виконувати розширене згортання коду за допомогою регулярних виразів. я використовую його, щоб скласти визначення класу та методу для швидшого редагування.