2010-05-20 42 views
13

Đây là một khó chịu mà tôi đã có trong một thời gian dài.Trình tự "bỏ tab" trong (g) Vim là gì?

(phần Nitpicky: Tôi thích 4 ký tự khoảng trắng hơn cho các ký tự tab. Việc nhập "tab" dễ hơn rất nhiều thay vì giải thích điều đó. Khi tôi nói "tab", ý tôi là "hành động xảy ra khi bạn nhấn tab khóa "có lẽ đơn giản hơn được tuyên bố là" tăng thụt đầu dòng ".)

Tôi đang sử dụng smartindent trong khi chỉnh sửa tài liệu mà thụt lề có một số ý nghĩa. Trong cửa sổ soạn thảo văn bản "câm", tôi có thể nhấn Shift + Tab để xóa tab hoặc, phù hợp hơn, giảm mức thụt đầu dòng của dòng hiện tại. Tôi không thể tìm ra cách để làm điều này từ chế độ chỉnh sửa trong Vim; Shift + Tab dường như chỉ giống như Tab.

Tôi biết ở chế độ Lệnh << sẽ giảm thụt đầu dòng. Tôi muốn tương đương trong chế độ chỉnh sửa. Đây là những giải pháp tôi đã tìm thấy cho đến nay và tại sao tôi không thích chúng, một trong những đặc biệt có thể là chìa khóa cho câu trả lời.

  1. Sử dụng Notepad ++ hoặc một số trình soạn thảo câm khác. Tôi đã làm điều này trong một vài năm nhưng tôi thực sự nhớ Vim.
  2. Thoát khỏi chế độ chỉnh sửa, sử dụng < <, nhập chế độ chỉnh sửa. Điều này chỉ đặt con trỏ tại cột 0; nếu tôi muốn điều này tôi sẽ không cố gắng thông minh.
  3. Ngừng sử dụng smartindent. Tôi không giảm thụt lề thường xuyên như tôi cần phải giữ cùng mức thụt lề; điều này sẽ làm mất năng suất.
  4. Phím mũi tên trái có vẻ giảm thụt lề một cấp. Tôi muốn một cái gì đó tôi có thể làm mà không cần rời khỏi hàng nhà. Đây là lựa chọn hứa hẹn nhất.

Có thể tôi có thể đặt tùy chọn? Có lẽ tôi có thể rebind mũi tên trái để một cái gì đó? (Nếu nó yêu cầu rebinding, vui lòng giải thích chi tiết, tôi chưa bao giờ tìm cách cấu hình lại (g) Vim

+0

gợi ý của bạn ràng buộc là một. tốt nhất nói chung (mặc dù không cần thiết trong trường hợp này) - nếu bạn biết làm thế nào để làm một cái gì đó, bạn luôn có thể tìm thấy một cách để ánh xạ nó vào một phím! (Và một mẹo nhanh - trong chế độ chèn, bạn có thể sử dụng 'ctrl- o, 'để thực thi Lệnh e trong chế độ lệnh sau đó ngay lập tức trở lại chế độ chèn.) – Cascabel

Trả lời

24

Bạn có thể sử dụng Ctrl + D để sao lưu một điểm dừng tab. dừng lại;. Ctrl + T làm điều tương tự sang bên phải

Lưu ý rằng những tổ hợp phím chỉ làm việc trong chế độ Insert (sử dụng < < và >> cho tương đương trong chế độ Command)

+2

tốt, tôi cũng không biết điều đó :). Dù sao, bây giờ bạn có thể cũng bản đồ cho những nét đó trong chế độ chèn, nếu bạn thực sự muốn. Đặt trong .vimrc (hoặc _vimrc trên cửa sổ) của bạn hai dòng, không có dấu ngoặc kép: "inoremap " và "inoremap ". – catchmeifyoutry

Các vấn đề liên quan