Come un utente esperto Vi si sa che in primo luogo ci sono due aspetti chiave che lo rendono diverso dall'altro (vis UAL) redattori: - modalità di ingresso Esc e : i modi comuni di passaggio tra di loro - mappatura della tastiera contestuale, in cui più pressione di un tasto si accumulano un comando
ho visto un numero di persone aggiungere un sottoinsieme delle mappature della tastiera Vi ad un editor esistente, e mentre è possibile ottenere alcune mappe mappate sensibilmente, ottenere un'emulazione richiederebbe probabilmente una sostituzione piuttosto estesa della gestione della tastiera di un editor esistente.
Ovviamente le mappature della tastiera sono abbastanza ben documentate, quindi non dovrebbe essere troppo difficile da implementare.
La prossima cosa sarebbe quella di implementare la modalità di comando. Dipende dall'editor che si sta modificando per implementarlo, ma immagino di cambiare lo stato attivo su un widget/controllo permanente in fondo. Una volta focalizzato su quel controllo, puoi facilmente gestire l'input, quindi analizzare ed elaborare il comando quando viene premuto return.
La sintassi di base della modalità di comando è ereditata dagli editor di ed/sed in modo da poter consultare le implementazioni (o documenti) su questo.
Tutto sommato, non è un lavoro enorme ottenere un'implementazione superficiale che assomiglia molto a vi. Ma farlo davvero bene è un'altra questione. Ti suggerirei di prendere seriamente in considerazione l'utilizzo dell'eccellente Vim (http://www.vim.org/).
Suona come avete risposto alla tua domanda nella vostra domanda a me. ;) – Almo
@ Almo, =). Sì, ho passato molto tempo a cercare di trovare implementazioni semplici esistenti. Spero che altre persone possano trovare tutorial migliori dei miei. ;-) – sivabudh