Saya mencoba memetakan Ctrl+ suntuk menyimpan file saya namun tidak berfungsi.
Pemetaan saya:
map <C-s> :w <CR> :echo "Saved" <CR>
imap <C-s> <Esc> :w <CR> :echo "Saved" <CR> i
Ketika dalam mode insert saya melihat /:echo "Saved"
di sudut bawah dan bukannya saved
dan ketika saya dalam mode normal saya melihat hal yang sama. Apa yang saya lakukan salah?
Ini di bagian paling atas dari vimrc saya jadi kode saya yang lain tidak boleh menyebabkan masalah. Saya menjalankan Vim di dalam Terminal OSX.
key-bindings
terminal
iProgram
sumber
sumber
I am also running vim inside the Mac terminal.
' Ya saya menjalankan vim melalui terminal. Apakah lebih baik menggunakan Alt daripada Ctrl atau Cmd?<D-s>
walaupun saya tidak yakin apakah itu berfungsi di terminal Vim, dan itu sudah merupakan default di MacVim!Jawaban:
Untuk memastikan solusi ini berjalan bahkan ketika Vim dijalankan oleh alat terpisah (seperti git), saya memilikinya di
~/.vimrc
:Ini telah bekerja untuk saya di Linux, GVim, Mac OS X dan MacVim.
Peringatan:
Pada Windows, atau OS lain yang tidak memiliki
stty
perintah, yang di atas kemungkinan akan memunculkan kesalahan setiap kali Vim dimulai! (silent!
mungkin membisukan itu.)Jika shell Anda sudah menonaktifkan pengaturan TTY ini, tentu saja perintah otomatis
VimLeave
akan menyalakannya lagi! Mendeteksi dan memulihkan pengaturan saat ini merupakan keuntungan dengan pendekatan @ aPyDeveloper.Kombinasi dari solusi ini dan @ aPyDeveloper, yang menangani masalah kompatibilitas di bawah OS X dan Windows, akan bagus untuk diposkan di sini dan / atau di Wiki!
Untuk menghindari memilih antara
stty -g
danstty --save
, Anda dapat mencoba tes berikut hanya untukix
opsi.sumber
Terima kasih kepada @Carpetsmoker untuk tautannya.
Menambahkan skrip ini
bash_profile
berhasil bagi saya.Berikut ini adalah link untuk itu. http://vim.wikia.com/wiki/Map_Ctrl-S_to_save_current_or_new_files
Saya juga harus menghapus spasi sebelum:
sumber