Apakah mungkin untuk memiliki binding kunci vim di terminal?

42

Saya terbiasa vim binding (seperti menekan w untuk pergi ke kata, dw untuk menghapus kata, dan semacamnya) dan mode itu (masukkan, normal, visual), dan, karena ingin tahu ingin tahu: apakah ada beberapa jenis penerapan perilaku mode dan binding ini dari vim ke terminal saya?

Memiliki mode penyisipan, mode normal dan ...

Seseorang masih menggunakan Anda MS-DOS
sumber

Jawaban:

46

Ini memiliki mode insert dan normal (mode insert default, dan melarikan diri untuk mode normal) tetapi tidak ada mode visual.

Dalam bash: set -o viAnda dapat menjalankannya di baris perintah untuk sesi ini saja atau menambahkannya ke file .bashrc Anda.

Banyak program menggunakan readlineinput, dan Anda dapat membuat salah satu dari mereka menggunakan keybindings vi-style dengan mengatur .inputrcwith Anda

set editing-mode vi
set keymap vi

Di zsh, jika Anda mengubah EDITORvariabel lingkungan Anda , shell akan cocok dengan itu.

Shawn J. Goff
sumber
1
Cukup rapi. Apakah Anda tahu apakah mungkin untuk memiliki semacam .vimrc juga, tetapi untuk penggunaan ini? Misalnya, menambahkan pemetaan yang berbeda ke <ESC> ...
Seseorang masih menggunakan Anda MS-DOS
2
@ Seseorang: Bukan .vimrckarena Anda masih menggunakan editor bawaan shell, tetapi Anda dapat mengonfigurasi ikatan utama .inputrcuntuk semua aplikasi readline (seperti bash), di .bashrcuntuk bash secara khusus, di .zshrcuntuk zsh.
Gilles 'SO- stop being evil'
1
Checkout the bind builtin
Shawn J. Goff
3
Perhatikan bahwa pada OS X, Anda harus meletakkan file put -o vi~ / .bash_profile daripada ~ / .bashrc.
Steve Jorgensen
6
Saya perhatikan bahwa tampilan kursor tidak berubah dalam mode berbeda bash w / vi binding kunci. Apakah ada cara untuk membuatnya melakukannya? Akan menyenangkan memiliki indikasi visual tentang mode apa yang saya gunakan.
Steve Jorgensen