Vi & Vim

T&J untuk orang yang menggunakan keluarga editor teks vi dan Vim




2
Pertukaran argumen fungsi
Ketika refactoring kode akan berguna untuk dapat bertukar argumen fungsi. Mengubah misalnya: func(foo[0], bar(), baz.spam) ke func(baz.spam, foo[0], bar()) Apakah ada cara untuk menukar argumen ke kiri / kanan, menjaga tanda kurung fungsi dan koma di tempat? Catatan, ini bisa menjadi sangat terlibat jika Anda ingin menjelaskan argumen yang mereka …
19 macro  refactor 

8
Bagaimana cara mematikan "hlsearch" secara otomatis setelah saya selesai mencari?
Saya suka pengaturan "hlsearch", tetapi setelah saya selesai mencari, saya merasa menjengkelkan. Apalagi jika saya mencari sesuatu yang memiliki banyak kecocokan. Saya tahu bahwa saya dapat mematikan ini :set nohlsearch Tapi ini membutuhkan 16 kali penekanan tombol, dan bahkan lebih menjengkelkan, saya harus mengaktifkannya kembali untuk pencarian berikutnya dengan :set …
19 search  highlight 

6
Bisakah saya menggabungkan garis dengan koma (atau karakter lain)?
Saya tahu saya dapat bergabung dengan baris dalam Vim dengan Jdan beberapa varian daripadanya ( gJ, dll.); Jakan "Hapus indentasi dan masukkan hingga dua spasi" . Tetapi apakah ada juga cara mudah untuk memasukkan karakter lain alih-alih dua spasi? Misalnya koma ( ,) atau koma & spasi ( ,)? Diberikan: …

3
Bagaimana cara membuat pencocokan regex menjadi tidak serakah?
Saya mencoba menggunakan regex untuk mengganti teks dalam file (ganti url lengkap dengan hanya protokol / domain /): :%s/\(https\?:\/\/.*?\/\).*/\1/gc Sayangnya .*?tidak cocok dengan string, bahkan mencoba untuk melarikan diri dari ?penjumlahan? Bagaimana seharusnya quantifier yang tidak rakus diloloskan dalam vim?



2
Ganti string tanpa mengubah kasing?
Karena kekhasan dalam bahasa khusus domain yang saya gunakan, saya sering menghadapi tugas (secara selektif, tidak global) mengganti termatau TERMdengan wordatau WORD, masing-masing. Ini berarti, saya mencari kasus-insensitively untuk term, dan ingin mengganti bahwa dengan word tetap menjaga huruf besar / huruf kecil dari aslinya termutuh . Karena memeriksa seluruh …
18 substitute 

1
Bagaimana cara mendapatkan tinggi dan lebar Vim yang sebenarnya?
winheight()dan winwidth()kembalikan jumlah kolom / garis di jendela saat ini. Yang saya cari adalah sesuatu yang lebih dekat dengan tinggi dan lebar sebenarnya dari area pengeditan, atau area yang ditampilkan jika dijalankan di terminal. Masalah dengan winheight()dan winwidth()apakah rasio aspek yang dihitung dari nilai-nilai ini tidak berhubungan dengan rasio aspek …

5
Apakah mungkin untuk mem-pipe perintah vim ke vim?
Saya ingin menjalankan shell berikut. wea-this is the end of the second word | vim j exit 0 Yang saya harapkan akan menyalurkan pukulan tombol w(memajukan kata) kemudian e(akhir kata) lalu a(menambahkan) kemudian -this is the end of the second word(teks) ke dokumen Vim bernama jyang sudah memiliki kata-kata di …
18 invocation 

4
Bersihkan garis lebih cepat dari [0] [d] [$]
Apakah ada cara yang lebih cepat untuk menghapus teks pada baris daripada menekan 0untuk melompat ke awal, lalu menekan d$untuk menghapus sampai akhir baris? Juga, bagaimana jika saya ingin menghapus semuanya kecuali lekukan? Apakah ada cara untuk melakukan itu?

1
Apakah sejumlah besar membuat vim berjalan lambat?
Ini sepertinya pertanyaan yang sangat aneh, tapi saya memiliki file Python yang memiliki angka di dalamnya yang panjangnya seribu digit dan file itu tampaknya berjalan sangat lambat, saya tidak yakin apakah ada semacam pemrosesan yang terjadi pada saya. Saya tidak tahu. Saya menekan garis jdan ada jeda yang pasti ~ …

4
Bagaimana saya bisa menekan pesan "membaca dari STDIN" dari dalam Vim?
Saat menggunakan Vim untuk membaca dari stdin, ia mencetak pesan yang informatif: $ echo foo | vim - Vim: Reading from stdin... $ Ini hanya sebuah contoh. Penggunaan aktual tidak memungkinkan konstruksi shell. vim <(echo foo)bukan pilihan. Bisakah saya menekannya dengan hanya menggunakan opsi Vim dan / atau pengaturan vimrc? …
18 vimrc  options 

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.