Làm cách nào để sắp xếp lại các tab đang mở?


16

Hãy nói rằng tôi có bốn tập tin mở: file0.txt, file1.txt, file2.txt, và file3.txt. Tôi mở tất cả chúng theo thứ tự đó dưới dạng các tab. Vì vậy, thứ tự tab của tôi là thế này:

  • file0.txt
  • file1.txt
  • file2.txt
  • file3.txt

Sau đó, hãy nói rằng tôi muốn thay vào đó sắp xếp lại các tab của mình để file2.txtxuất hiện trước file1.txt:

  • file0.txt
  • file2.txt
  • file1.txt
  • file3.txt

Làm thế nào để làm điều đó? Có lệnh Vim để di chuyển tab hiện tại sang trái hoặc phải hay sắp xếp lại các tab hiện đang mở không?

Câu trả lời:


18

Bạn có thể sử dụng tabmovelệnh. ( :help tabmovesẽ cho bạn biết tất cả những gì bạn cần biết)

Lệnh có hai loại tham số:

Một dấu ( +hoặc -) theo sau là một số:

  • :tabmove +2 sẽ di chuyển tab của bạn 2 vị trí sang phải
  • :tabmove -2 sẽ làm tương tự bên trái.

Bạn cũng có thể sử dụng lệnh với một số đơn giản để đặt vị trí của tab:

  • :tabmove 0 sẽ đặt tab làm cái đầu tiên
  • :tabmove 2 sẽ đặt tab ở vị trí thứ ba
  • :tabmove sẽ đặt tab làm cái cuối cùng

Ngoài ra tôi đặt những dòng đó trong .vimrc

" move current tab to left/right
noremap <Leader><Left>  :execute 'silent! tabmove ' . (tabpagenr()-2)<CR>
noremap <Leader><Right> :execute 'silent! tabmove ' . tabpagenr()<CR>

Chúng cho phép bạn di chuyển tab hiện tại của một nơi với sự kết hợp Leader+ Right arrowLeader+ Left arrowcó thể chúng có thể hữu ích cho bạn.

Chỉnh sửa: Như @TomMcDo đã chỉ ra trong các nhận xét, các ánh xạ trước đó có thể được đơn giản hóa và vẫn hoạt động bình thường:

noremap <Leader><Left>  :tabmove -1<CR>
noremap <Leader><Right> :tabmove +1<CR>

3
Trong bản đồ của bạn, tại sao không sử dụng :tabmove -1:tabmove +1?
tommcdo

@tommcdo: Chà ... Tôi đã thực hiện những ánh xạ đó vài tháng trước và tôi không biết gì về những gì trong tâm trí của tôi tại thời điểm này. Và tôi đã không nghĩ đến điều đó khi tôi sao chép nó trong câu trả lời của mình. Dù sao bạn hoàn toàn đúng Tôi sẽ chỉnh sửa câu trả lời của tôi để đơn giản hơn nhờ vào tiêu đề :-)
statox
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.