Apakah ada perintah untuk membagi garis di Vim?

15

Di Vim, Jkuncinya bergabung dua baris bersama. Apakah ada kombinasi tombol yang serupa dan terintegrasi untuk memisahkan garis dengan baris baru (pada posisi kursor, atau serupa)?

Atau, apa cara terbaik untuk menentukan kombinasi tombol untuk melakukan itu (dalam mode normal, bukan mode insert)?

Andrew Ferrier
sumber

Jawaban:

16

Tidak, tidak ada perintah bawaan untuk itu.

Ketika saya ingin membagi pada <Space>, saya lakukan r<CR>.

--- EDIT ---

Komentar @ keith-nicholas mengingatkan saya tentang pertanyaan ini. FWIW saya datang dengan metode semoga "universal" untuk sementara waktu:

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

nnoremap <key> :<C-u>call BreakHere()<CR>
romainl
sumber
4
Menggunakannya r<CR>cukup pintar! Terima kasih!
Marcelo
1
itu keren! super menjengkelkan masuk ke menyisipkan garis
Keith Nicholas
Saya menemukan s<CR>terus lekukan sedangkan r<CR>tidak.
toxefa
5

a Enter Escuntuk membagi ke kanan kursor, atau i Enter Escuntuk membagi ke kiri.

Scott
sumber
1
Hanya itu saja. Cukup masukkan satu baris baru. Atau: gunakan r + <return> untuk mengganti karakter di bawah kursor dengan baris baru. Akan menyenangkan untuk memiliki perintah huruf tunggal untuk itu, tetapi sejauh yang saya tahu tidak ada satu.
Tonny
2

Cara termudah yang saya temukan untuk memisahkan garis dalam Vim adalah perintah mode normal gq(ketikkan kedua huruf dalam suksesi cepat dalam mode normal atau visual):

  • Dalam mode visual, itu akan membagi apa pun yang dipilih.
  • Dalam mode normal, Anda mengikuti gqdengan gerakan.

Misalnya, gqlakan membagi satu baris dengan lebar yang saat ini ditetapkan. Untuk mengatur lebar garis yang dipisah agar berbeda dari pengaturan Anda saat ini, Anda dapat menggunakan

:set textwidth=<n>

Di mana n = jumlah karakter yang Anda inginkan dalam satu baris, mis. 10, dan ubah kembali ke lebar normal Anda ketika Anda selesai.

Dapatkan informasi ini dari video Youtube oleh Kholidfu yang menunjukkan cara bergabung dan memecah garis dalam mode normal menggunakan gerakan: Vim Tutorial - Bergabung dan Garis Perpecahan .

vdicarlo
sumber
1

Anda bisa menentukan sendiri menggunakan peta. Untuk mendefinisikan z sebagai perintah misalnya:

:map z i<CTRL+m>
tersangka
sumber
0

Anda dapat merekam makro:

dalam mode normal ketik "q +" untuk memulai catatan. tekan "i", makro yang ingin Anda rekam. lalu tekan "q" lagi untuk berhenti merekam.

untuk menggunakan makro, masuk ke mode normal dan ketik "@ + huruf".

dalam kasus saya, saya menggunakan "b" untuk menggunakan makro ini: untuk merekam ketik dalam mode normal "qbiq" untuk menggunakan ketik dalam mode normal "@b"

luizhj
sumber