Saya baru mengenal vi , sebenarnya saya sudah mulai belajar vi mulai hari ini dan saya terjebak pada perilaku kunci backspace . Sebenarnya ketika saya menjalankan vi pada Ubuntu 12.04 saya untuk pertama kalinya kunci backspace saya bekerja dengan normal tetapi setelah itu ia mulai bertingkah aneh. Setiap kali saya menekan backspace dalam mode insert, ia hanya memindahkan satu tempat ke kiri alih-alih menghapus karakter. Bagaimana saya bisa mendapatkan kembali fungsionalitas backspace default? Harap dicatat bahwa saya tidak ingin menginstal vim atau mengatur nocompatibilty.
10
vim
.Jawaban:
Terkadang
vi
perintahnya adalah alias untukvim
dan ketika dipanggil sebagaivi
mengaktifkan mode-vi.Bahkan dalam mode backspace tradisional menghapus karakter, tetapi tidak menampilkannya segera dihapus. (Setelah menekan ESC, karakternya hilang.)
Kira Anda harus memilih antara menggunakan
vi
yang datang dengan perilaku yang dijelaskan atau menggunakanvim
yang mampu melakukannya dengan cara yang Anda harapkan.sumber
Periksa apakah Anda benar-benar menggunakan polos
vi
via$ vi --version | head -n 1
Ini memberi di mesin saya (Debian 7)
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Feb 10 2013 02:27:59)
vim dapat dibuat untuk berperilaku lebih seperti vi. Ini dapat dilakukan dengan memberikan perintah
vi
alih-alih darivim
commandline, di manavi
hanya sym-linkvim
, di mana vim dibuka dalam mode vi. Anda dapat memeriksanya dengan:set compatible?
.Seperti disebutkan oleh jawaban sebelumnya, efek dari backspace menjadi hanya terlihat setelah meninggalkan
insert mode
ketikaset compatible
diaktifkan.Catatan: Dalam mode vi-kompatibel, Anda tidak dapat mundur teks yang sebelumnya dimasukkan (sebelum dimasukkan
insert mode
) atau eol atau lekukan dalaminsert mode
. Lihat:help 'bs'
Cobalah pengaturan yang berbeda untuk memahami artinya: Masukkan karakter / jeda baris dan lekukan dalam mode insert, keluar dan masukkan kembali mode insert dan kemudian coba backspacing.
Pengguna yang tidak terbiasa dengan perilaku vi dan tidak bersikeras menggunakan polos vi (tidak direkomendasikan lagi) harus
:set backspace=indent,eol,start
. Afaik di Debian biasanya ada file konfigurasi sistem yang diinstal dengan pengaturan ini.Anda bisa mendapatkan pengaturan saat ini melalui
:set bs?
.sumber
Buat file baru di direktori home pengguna bernama .vimrc jika belum ada di sana. Di sini kita akan membuat dan mengedit bersamaan dengan vi
Tambahkan perintah berikut, yang meliputi mematikan mode kompatibilitas dan fungsi hapus spasi mundur:
Simpan dan keluar file menggunakan
Menonaktifkan mode kompatibilitas memungkinkan penggunaan tombol panah yang digunakan oleh orang-orang tua.
Karena kami sudo ketika membuat file, kepemilikan file mungkin akan menjadi root. Anda dapat memberi tahu file tersebut kepada pengguna.
Dalam kasus saya ini untuk pi raspberry, jadi pengguna dan grup adalah pi:
Sekarang nyalakan vi lagi dan nikmatilah!
sumber
set nocp
melakukan trik untuk sayaSaya pikir cara terbaik adalah dengan melihat cheatsheet VI / VIM: http://www.viemu.com/vi-vim-cheat-sheet.gif
Masuk ke mode normal (ESC) dan kemudian SHIFT + X.
sumber
hanya tempat di
~/.zshrc
sumber
Membuat .vimrc di direktori home saya yang hanya berisi
atur nocp
memperbaiki masalah saya dengan backspace tidak menghapus karakter dari layar Dick S.
sumber