Odpowiedzi:
Ctrl-Ci Escnie są takie same w vi/ vimw większości trybów, w tym w trybie wstawiania. Różnica polega na tym, że Escwyzwala skróty, podczas gdy Ctrl-cnie. To, czy ma to dla Ciebie znaczenie, zależy od tego, czy Ty lub dowolne używane wtyczki używają skrótów.
Zauważ, że bezpieczniej jest założyć, Esci Ctrl-Cczy nie oznacza to samo w vim. Innym przykładem z tej samej witryny jest wyjście z trybu wstawiania bloków (nie w vi).
Myślę, że masz na myśli vim, nie vi.
To naprawdę działa vim, chociaż nie użyłbym tego, chyba że byłbym w 100% pewien, że nigdy nie dotknę systemu operacyjnego innego niż Linux. Powodem jest to, że inne systemy operacyjne mogą mieć własne implementacje vi, które tego nie implementują, i może się okazać, że podczas uruchamiania vina tych platformach Ctrl-C ma swoje tradycyjne zachowanie: przerywa proces i pozostawia terminal w dziwnym stanie .
viimplementację, która nadal istnieje, która nie obsługuje Ctrl-C? Zobacz moją odpowiedź na prawdziwą różnicę.
Jeśli masz na myśli vim, istnieje niewielka różnica. CTRL-Cnie sprawdza skrótów i nie wyzwala InsertLeavezdarzenia. Tak więc Ty lub wtyczki zdefiniowałeś dowolne autocmdinstrukcje, od InsertLeavektórych nie będą uruchamiane.
Z oficjalnej dokumentacji http://vimhelp.appspot.com/insert.txt.html :
<Esc> or CTRL-[ End insert or Replace mode, go back to Normal mode. Finish
abbreviation.
CTRL-C Quit insert mode, go back to Normal mode. Do not check for
abbreviations. Does not trigger the InsertLeave autocommand
event.
Można zdefiniować odwzorowanie dla CTRL-Ccelu <esc>, to będzie wyzwalać InsertLeave.
Type :quit<Enter> to exit Vimi sprawia, że Google ma sposób na odzyskanie. Naciśnięcieipowoduje powrót do trybu wstawiania.