Saya telah mencoba mengikuti yang berikut ini:
Cara menghapus teks yang dipilih di editor VI
tapi
5dd
memberi
E492: Bukan perintah editor: 5dd
Saya kemudian mencoba:
5d
Yang hanya menghapus satu baris. Bagaimana cara menghapus beberapa baris?
Jawaban:
Kedengarannya seperti Anda memasukkan perintah dalam mode perintah (alias. "Mode Ex"). Dalam konteks itu
:5d
akan menghapus baris nomor 5, tidak ada yang lain. Agar5dd
berfungsi sebagaimana mestinya - yaitu, hapus lima baris konsekuen yang dimulai dari kursor - masukkan dalam mode normal dan jangan awali perintah dengan:
.sumber
Saya merasa ini lebih mudah
/superuser/170795/how-can-i-select-and-delete-lines-of-text-in-vi
sumber
Anda dapat menghapus beberapa baris (rentang) jika Anda mengetahui nomor barisnya:
Catatan: d singkatan dari delete
dimana,
start_line_no adalah baris awal no yang ingin anda hapus dan end_line_no adalah baris akhir no yang ingin anda hapus. Garis antara awal dan akhir, termasuk awal dan akhir akan dihapus.
Misalnya:
Garis antara 45 dan 101 termasuk 45 dan 101 akan dihapus.
sumber
$
untuk menunjukkan baris terakhir dalam file. Jadi:45,$d
akan menghapus setiap baris dari 45 sampai akhir./<\/div>/
:.,[end_line_no]d
Perintah terdaftar untuk digunakan dalam mode normal (awalan dengan :untuk mode perintah).
Diuji di Vim.
Berdasarkan jumlah baris:
Dengan nomor baris:
Backwards range given, OK to swap (y/n)?
sumber
Jika Anda lebih suka metode mode non-visual dan mengetahui nomor baris, saya ingin menyarankan Anda cara langsung lainnya.
Contoh
Metode saya menyarankan Anda untuk mengetikkan perintah di bawah ini dalam mode perintah:
Bunyinya:
Perhatikan bahwa
vim
Anda mungkin menggunakangg
sebagai gantinyaG
.Bandingkan dengan jawaban @Bonnie Varghese yaitu:
Perintah diatas dari jawabannya membutuhkan 9 kali pengetikan termasuk enterdimana jawaban saya membutuhkan 8 - 10 kali pengetikan. Jadi, kecepatan metode saya sebanding.
Secara pribadi, saya sendiri lebih suka
45Gd101G
lebih:45,101d
karena saya seperti untuk tongkat untuk sintaks dari perintah vi, dalam hal ini adalah:sumber
d5d "memotong" lima baris
Saya biasanya hanya membuang nomor di tengah seperti:
d7l = hapus 7 huruf
sumber
Tekan Esctombol untuk memastikan Anda tidak dalam mode edit. Tempatkan kursor pada baris pertama yang akan dihapus. Masuk
:5dd
. Baris saat ini, dan empat baris berikutnya harus dihapus.Bergantian, jika Anda mengaktifkan penomoran baris ...
Tekan Esctombol untuk memastikan Anda tidak dalam mode edit. Masukkan
:#,#d
'#' untuk awal dan akhir nomor baris yang akan dihapus.sumber
Ketik (untuk baris bernomor).
:set number
sumber
Jika Anda ingin menghapus rentang SETELAH pemicu baris tertentu Anda dapat menggunakan sesuatu seperti ini
Itu menghapus 11 baris (inklusif) setelah setiap pertemuan
^TMPDIR
.sumber
itu dxd, bukan ddx
jika Anda ingin menghapus 5 baris, arahkan kursor ke awal baris pertama untuk menghapus dan d5d
sumber
Untuk menghapus semua baris gunakan - ESC gg dG Untuk menghapus beberapa baris katakanlah 5 lalu gunakan ESC 5dd
sumber
Itu bisa dilakukan sebagai berikut ..
sumber