Dengan "memindahkan sepotong teks ke file baru" Saya berasumsi maksud Anda memotong potongan teks dari file saat ini dan membuat file baru yang hanya berisi teks itu.
Berbagai contoh:
:1,1 w new_file
untuk membuat file baru yang hanya berisi teks dari nomor baris 1
:5,50 w newfile
untuk membuat file baru yang berisi teks dari baris 5 ke baris 50
:'a,'b w newfile
untuk membuat file baru yang berisi teks dari tanda a
ke tandab
- setel tanda Anda dengan menggunakan madan di mbmana pun Anda suka
Di atas hanya menyalin teks dan membuat file baru yang berisi teks itu. Anda kemudian perlu menghapus sesudahnya.
Ini dapat dilakukan dengan menggunakan rentang dan d
perintah yang sama:
:5,50 d
untuk menghapus teks dari baris 5 ke baris 50
:'a,'b d
untuk menghapus teks dari tanda a
ke tandab
Atau dengan menggunakan dduntuk kasing tunggal.
Jika Anda memilih teks menggunakan mode visual, dan kemudian menekan :
saat teks dipilih, Anda akan melihat yang berikut pada baris perintah:
:'<,'>
Yang menunjukkan teks yang dipilih. Anda kemudian dapat memperluas perintah ke:
:'<,'>w >> old_file
Yang akan menambahkan teks ke file yang ada. Kemudian hapus seperti di atas.
Satu liner:
:2,3 d | new +put! "
Rinciannya:
:2,3 d
- hapus baris 2 hingga 3
|
- secara teknis ini mengalihkan output dari perintah pertama ke perintah kedua tetapi karena perintah pertama tidak menghasilkan apa-apa, kami hanya menggabungkan perintah bersama
new
- membuka buffer baru
+put! "
- memasukkan isi register yang tidak disebutkan namanya ( "
) ke dalam buffer
- Bang (
!
) ada di sana sehingga isinya diletakkan sebelum baris saat ini. Ini menyebabkan dan mengosongkan baris di akhir file. Tanpanya, ada baris kosong di bagian atas file.