Có một lệnh để phân chia dòng trong Vim?


15

Trong Vim, Jphím nối hai dòng với nhau. Có một tổ hợp phím tương tự, tích hợp, tương tự để phân chia các dòng với một dòng mới (tại vị trí con trỏ hoặc tương tự) không?

Ngoài ra, điều gì sẽ là cách mạnh mẽ nhất để xác định tổ hợp phím để làm điều đó (ở chế độ bình thường, không phải chế độ chèn)?


Câu trả lời:


16

Không, không có lệnh tích hợp cho điều đó.

Khi tôi muốn tách ra <Space>, tôi làm r<CR>.

--- BIÊN TẬP ---

Nhận xét của @ keith-nicholas nhắc nhở tôi về câu hỏi này. FWIW Tôi đã đưa ra một phương pháp "phổ quát" đầy hy vọng trong thời gian đó:

function! BreakHere()
    s/^\(\s*\)\(.\{-}\)\(\s*\)\(\%#\)\(\s*\)\(.*\)/\1\2\r\1\4\6
    call histdel("/", -1)
endfunction

nnoremap <key> :<C-u>call BreakHere()<CR>

4
Sử dụng r<CR>đơn giản là thông minh! Cảm ơn!
Marcelo

1
thật tuyệt! siêu khó chịu đi vào chèn để chèn dòng
Keith Nicholas

Tôi tìm thấy s<CR>giữ thụt trong khi r<CR>không.
toxefa

5

a Enter Escđể tách sang bên phải của con trỏ hoặc i Enter Esctách sang bên trái.


1
Thế là xong. Chỉ cần chèn một dòng mới. Ngoài ra: sử dụng r + <return> để thay thế ký tự dưới con trỏ bằng một dòng mới. Sẽ rất tuyệt nếu có một lệnh một chữ cái cho nó, nhưng theo như tôi biết thì không có.
Tonny

2

Cách dễ nhất mà tôi đã tìm thấy để phân chia các dòng trong Vim là lệnh chế độ bình thường gq(nhập cả hai chữ cái liên tiếp trong chế độ bình thường hoặc trực quan):

  • Trong chế độ trực quan, nó sẽ phân chia bất cứ thứ gì được chọn.
  • Trong chế độ bình thường, bạn làm theo gqvới một chuyển động.

Ví dụ: gqlsẽ chia một dòng thành chiều rộng hiện được đặt. Để đặt độ rộng của các đường phân chia khác với cài đặt hiện tại của bạn, bạn có thể sử dụng

:set textwidth=<n>

Trong đó n = số ký tự bạn muốn trong một dòng, ví dụ 10, và thay đổi trở lại chiều rộng bình thường của bạn khi bạn hoàn thành.

Nhận thông tin này từ một video Youtube của Kholidfu cho thấy cách tham gia và phân chia các dòng trong chế độ bình thường bằng chuyển động: Hướng dẫn Vim - Tham gia và Chia dòng .


1

Bạn có thể xác định bản đồ của riêng bạn bằng cách sử dụng bản đồ. Để xác định z là lệnh ví dụ:

:map z i<CTRL+m>

0

Bạn có thể ghi lại một macro:

ở chế độ bình thường, gõ "q +" để bắt đầu ghi. nhấn "i", macro bạn muốn ghi lại. sau đó nhấn "q" lần nữa để dừng ghi âm.

để sử dụng macro, hãy chuyển sang chế độ bình thường và nhập "@ + letter".

trong trường hợp của tôi, tôi đã sử dụng "b" để sử dụng macro này: để ghi loại ở chế độ bình thường "qbiq" để sử dụng loại ở chế độ bình thường "@b"

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.