Kunci `Hapus` tidak berfungsi pada mode penyisipan vim untuk menghapus konten yang diketik sebelumnya


12

Saya membuka vim di iterm2 saya. Pertama, saya mengetik sesuatu pada mode insert, seperti

Hello

Pada tahap ini, jika saya tidak keluar dari mode penyisipan, deletekunci berfungsi dan dapat menghapus seluruh kata jika saya mau.

Jika saya keluar dari mode insert, dan buka mode insert lagi, ini Hellotidak bisa dihapus dengan deletekunci. Tetapi konten yang baru diketik dapat dihapus.

Saya telah mengganti nama .vimrc saya, masalah masih keluar.

Di baris perintah shell, deletekunci saya berfungsi dengan baik.

Dan saya melakukan beberapa tes pada server jauh melalui iterm, tidak menemukan masalah yang sama.

Apa yang bisa menjadi penyebab masalah ini? Bagaimana memperbaikinya?


PS: Karena saya menggunakan macbook, deletekuncinya sesuai untuk backspacedi PC.

Jawaban:



3

Ini tidak ada hubungannya dengan shell, atau dengan versi vim. Ini adalah hal konfigurasi yang sederhana, karena pengoperasian backspace dalam mode insert adalah vimperilaku yang dapat dikonfigurasi biasa . Secara khusus, itu adalah vim's backspacepengaturan. Pada satu mesin Anda (kemungkinan besar) memiliki set ke string kosong, dan pada yang lain Anda mengaturnya untuk memasukkan nilai start. Dan ini mungkin dalam file konfigurasi global.

Perhatikan bahwa default jika Anda memunculkan vimdalam vimode -compatible adalah backspacevariabel menjadi string kosong. Perilaku yang Anda keluhkan sebenarnya adalah perilaku yang asli vi. Sistem operasi Linux cenderung mengisi file konfigurasi global dengan segala macam vimopsi yang mengaktifkan perilaku "ramah" yang menyimpang dari aslinya vi. BSD cenderung tidak.

Bacaan lebih lanjut

  • Arnold Robbins, Elbert Hannah, dan Linda Lamb (2008). "Pengeditan Sederhana". Mempelajari Editor vi dan Vim . O'Reilly Media, Inc. ISBN 9781449313258. hlm. 14.
  • :help backspace. dokumentasi vim.
  • Bug # 19903 . 1998. Debian BTS.


0

Periksa iTermpemetaan kunci ( Preferences -> Profiles -> Keys). Saya menggunakan preset Pengeditan Teks Alami default, dan dengan jawaban ini , menghapus pemetaan kunci yang terkait untuk menghapus menyelesaikan masalah bagi saya.

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.