Tôi gặp sự cố khi thiết lập Vim (7.1.xxx) để chỉnh sửa tệp Python (* .py). Thụt lề dường như bị hỏng (tối ưu 4 dấu cách). Tôi đã làm theo một số hướng dẫn mà tôi tìm thấy qua Google. Vẫn không có tác dụng: / Vui lòng giúp đỡ.
Tôi gặp sự cố khi thiết lập Vim (7.1.xxx) để chỉnh sửa tệp Python (* .py). Thụt lề dường như bị hỏng (tối ưu 4 dấu cách). Tôi đã làm theo một số hướng dẫn mà tôi tìm thấy qua Google. Vẫn không có tác dụng: / Vui lòng giúp đỡ.
Câu trả lời:
Tôi sử dụng cái này trên macbook của mình:
" 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
(được chỉnh sửa để chỉ hiển thị nội dung liên quan đến thụt lề / tab)
Tôi sử dụng:
$ 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
Nhưng tôi sẽ thử các mục của Daren
smartindent
chỉ phù hợp để chỉnh sửa tệp C, không phải tệp Python (và dù sao thì hiện tại đã không còn được dùng nữa; hãy xem stackoverflow.com/a/234578/37639 ).
Một tùy chọn đơn giản hơn: chỉ cần bỏ ghi chú phần sau của cấu hình (được nhận xét ban đầu) trong tệp / etc / vim / vimrc:
if has("autocmd")
filetype plugin indent on
endif
Tôi sử dụng vimrc trong kho python trong số những thứ khác:
http://svn.python.org/projects/python/trunk/Misc/Vim/vimrc
Tôi cũng thêm
set softtabstop=4
Đảm bảo bạn đang chỉnh sửa tệp cấu hình chính xác cho VIM. Đặc biệt nếu bạn đang sử dụng windows, nơi tệp có thể được đặt tên là _vimrc thay vì .vimrc như trên các nền tảng khác.
Trong loại vim
:help vimrc
và kiểm tra đường dẫn của bạn đến tệp _vimrc / .vimrc với
:echo $HOME
:echo $VIM
Đảm bảo rằng bạn chỉ đang sử dụng một tệp. Nếu bạn muốn chia cấu hình của mình thành các phần nhỏ hơn, bạn có thể tìm nguồn các tệp khác từ bên trong tệp _vimrc của mình.
:help source
Kết hợp các giải pháp do Daren và Thanos đề xuất, chúng ta có một tệp .vimrc tốt.
-----
" 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
để chỉnh sửa python nâng cao hơn, hãy xem xét cài đặt plugin vim simplefold . nó cho phép bạn gấp mã nâng cao bằng cách sử dụng biểu thức chính quy. tôi sử dụng nó để gấp các định nghĩa lớp và phương thức của tôi để chỉnh sửa nhanh hơn.