Thêm tin sau vào tệp .vimrc
:
" Restore cursor position, window position, and last search after running a
" command.
function! Preserve(command)
" Save the last search.
let search = @/
" Save the current cursor position.
let cursor_position = getpos('.')
" Save the current window position.
normal! H
let window_position = getpos('.')
call setpos('.', cursor_position)
" Execute the command.
execute a:command
" Restore the last search.
let @/ = search
" Restore the previous window position.
call setpos('.', window_position)
normal! zt
" Restore the previous cursor position.
call setpos('.', cursor_position)
endfunction
" Re-indent the whole buffer.
function! Indent()
call Preserve('normal gg=G')
endfunction
Nếu bạn muốn tất cả các loại tập tin được tự động thụt vào tiết kiệm, mà tôi khuyên chống lại, thêm móc này để .vimrc
của bạn:
" Indent on save hook
autocmd BufWritePre <buffer> call Indent()
Nếu bạn muốn chỉ các loại tập tin nhất định để được tự động thụt vào sa ve, mà tôi khuyên bạn nên, sau đó làm theo hướng dẫn.Cho phép nói rằng bạn muốn C++ file để được tự động thụt vào tiết kiệm, sau đó tạo ra ~/.vim/after/ftplugin/cpp.vim
và đặt móc này có:
" Indent on save hook
autocmd BufWritePre <buffer> call Indent()
Cùng sẽ đi cho bất kỳ loại tập tin khác, ví dụ: ~/.vim/after/ftplugin/java.vim
cho Java và vân vân.
Nguồn
2013-04-14 00:14:34
Thay vì một kích hoạt trước khi lưu, sử dụng 'thiết autoindent' và thụt mã của bạn đúng cách ở nơi đầu tiên! –