Những lệnh trong việc trả lời của tôi trong vim. Hầu hết những người nghĩ rằng họ đang sử dụng vi đang sử dụng vim. Để tìm hiểu xem 'vi' của bạn có thực sự là 'vim' hay không, hãy mở vi và gõ :version
- nếu nó là vim, nó sẽ nói như vậy. Nếu không, bạn có thể chỉ thấy một số phiên bản mà không có tên của chương trình. Ngoài ra, khi bạn mở vim lần đầu tiên bạn sẽ thường thấy một màn hình giật gân của một số loại mà nói "VIM - VI được cải thiện" ...
Automatic Indentation
Để bật tính năng tự động thụt đầu dòng trên, hãy chắc chắn rằng vim biết loại tệp bạn đang chỉnh sửa (nó thường tự động phát hiện tệp này từ phần mở rộng tên tệp, nhưng có thể không tìm ra nó với một số loại tệp). Bạn có thể cho nó biết loại tập tin bằng cách sử dụng các menu để tô sáng cú pháp. Sau đó, làm điều này:
:filetype indent on
Bạn có thể tắt tính năng tự động thụt đầu dòng với
:filetype indent off
Tự động điều chỉnh/sửa thụt đầu dòng
Nói chung, = {chuyển động} sẽ sắp xếp mã đến mức thụt lề.
==
align dòng hiện
=i{
align khối nội
=%
align để khớp ngoặc/khung dưới con trỏ
=14j
hoặc 14==
class 14 tiếp theo dòng
=G
class đến cuối của tập tin
vG=
điều tương tự, sắp xếp đến cuối của tập tin (nhưng sử dụng chế độ hình ảnh)
vjjj=
class bốn dây chuyền (sử dụng chế độ trực quan)
tay thụt đầu dòng
Nếu vim không đoán mức độ thụt đầu dòng một cách chính xác, có hai cách để thay đổi nó:
- Nếu bạn đang ở trong chế độ bình thường (trong đó tất cả mọi thứ là một lệnh), làm
<<
chuyển một dòng trái, hoặc >>
để dịch chuyển ngay bằng một tab. Bạn có thể thực hiện điều này bằng nhiều dòng bằng cách sử dụng các lệnh chuyển động giống như tôi đã trình bày ở trên (ví dụ: >i{
thụt lề khối mã bên trong hiện tại).
- Nếu bạn đang ở trong chế độ chèn, bạn có thể thụt dòng hơn nữa (không di chuyển con trỏ) bằng cách thực hiện một Ctrl-T, hoặc bỏ thụt lề một tab với Ctrl-D
hiệu chỉnh dấu bằng, vv
Nếu bạn muốn sắp xếp dấu bằng trong một danh sách các tờ khai, bạn nên xem xét sử dụng kịch bản vim này: http://www.vim.org/scripts/script.php?script_id=294
Điều chỉnh thụt đầu dòng/tab kích thước
Nếu bạn muốn vim để sử dụng không gian thay vì tab khi nó indents, chạy lệnh này (hoặc cân nhắc việc thêm nó vào tập tin vimrc của bạn)
:set expandtab
Để thiết lập bao nhiêu không gian bằng một tab, tôi thường làm điều này:
:set expandtab softtabstop=3 tabstop=3 shiftwidth=3
- tabstop - có bao nhiêu cột một số lượng tab cho (ảnh hưởng đến hiển thị các ký tự tab hiện có)
- shiftwidth - kiểm soát kích thước reindentation với < < và >>, trong số các lệnh khác.
- softtabstop - bao nhiêu không gian để chèn khi bạn nhấn phím Tab
- expandtab - mở rộng phím tab để không gian
Nhưng nếu bạn phải làm việc với số tiền khác nhau của các tab rất nhiều, bạn cũng có thể sử dụng chức năng này và keybinding:
function! Ktabs(tabsize)
execute "set softtabstop=" . a:tabsize . " tabstop=" . a:tabsize . " expandtab shiftwidth=" . a:tabsize
"set softtabstop=a:tabsize tabstop=a:tabsize expandtab shiftwidth=a:tabsize
endfunction
noremap <leader><Tab> :call Ktabs(3)<Left>
Nếu bạn đang chỉnh sửa một tập tin với một sự pha trộn của các tab và không gian, bạn có thể muốn sử dụng lệnh này sau khi cài đặt kích thước tab:
:retab
Chuyển động là gì? – Xofo
': h {motion}'. Và xin vui lòng đọc về cơ bản của vim. – wRAR
Tôi sẽ đọc những điều cơ bản ... nhưng bạn có thể giải thích lệnh này? x – Xofo