Mam problem ze skonfigurowaniem Vima (7.1.xxx) do edycji plików Pythona (* .py). Wcięcie wydaje się być zepsute (optymalne 4 spacje). Skorzystałem z kilku samouczków, które znalazłem za pośrednictwem Google. Nadal bez efektu: / Proszę o pomoc.
Mam problem ze skonfigurowaniem Vima (7.1.xxx) do edycji plików Pythona (* .py). Wcięcie wydaje się być zepsute (optymalne 4 spacje). Skorzystałem z kilku samouczków, które znalazłem za pośrednictwem Google. Nadal bez efektu: / Proszę o pomoc.
Odpowiedzi:
Używam tego na moim Macbooku:
" 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
(edytowane, aby pokazać tylko rzeczy związane z wcięciami / tabulatorami)
Używam:
$ 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
Ale mam zamiar wypróbować wpisy Darena
smartindent
nadaje się tylko do edycji plików C, a nie plików Pythona (i tak jest już przestarzała; zobacz stackoverflow.com/a/234578/37639 ).
Prostsza opcja: po prostu odkomentuj następującą część konfiguracji (która została oryginalnie zakomentowana) w pliku / etc / vim / vimrc:
if has("autocmd")
filetype plugin indent on
endif
Używam vimrc w repozytorium Pythona między innymi:
http://svn.python.org/projects/python/trunk/Misc/Vim/vimrc
Dodam też
set softtabstop=4
Upewnij się, że edytujesz poprawny plik konfiguracyjny dla VIM. Zwłaszcza jeśli używasz systemu Windows, gdzie plik mógłby nosić nazwę _vimrc zamiast .vimrc, jak na innych platformach.
W typie vim
:help vimrc
i sprawdź ścieżkę do pliku _vimrc / .vimrc za pomocą
:echo $HOME
:echo $VIM
Upewnij się, że używasz tylko jednego pliku. Jeśli chcesz podzielić konfigurację na mniejsze części, możesz pozyskać inne pliki z pliku _vimrc.
:help source
Łącząc rozwiązania zaproponowane przez Darena i Thanosa otrzymujemy dobry plik .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