<D->
działa tylko w MacVim.
Szybkie google zwróci mnóstwo hacków i rozwiązań innych firm. Wszystkie znane mi rozwiązania działają zarówno w systemie, jak i są specyficzne dla aplikacji: jeśli zmienisz mapowanie Cmd
tylko w iTerm2, jak otworzysz nowe okno lub nową kartę? Z… z… MYSZĄ?
Nie mogę sobie wyobrazić dobrego powodu do ponownego Cmd
przypisania klucza do czegokolwiek na komputerze Mac. To byłoby szalone.
Vim nie jest TextMate ani żadnym innym edytorem, którego używałeś wcześniej. Nie ma sposobu, aby bezproblemowo przenieść wszystkie stare nawyki.
Zamiast marnować czas na próbę przekształcenia Vima i twojego terminalu w coś, co nie jest i nie może być, powinieneś nauczyć się mądrze używać i dostosowywać Vima. Wszystkie twoje kombinacje Cmd
+ Shift
+ Ctrl
+ Alt
nigdzie cię nie zaprowadzą. Zwłaszcza w terminalu, gdzie Alt
często jest problematyczne i Cmd
bezużyteczne.
Rozważ użycie <leader>
( :help leader
):
- jest przenośny na każdej platformie
- jest mniej podatny na konflikty z systemem operacyjnym lub emulatorem terminali
- otwiera wiele łatwych do zapamiętania możliwości
<leader>
ale nie byłem pewien, jak go wykorzystać. Zgadzam się z twoją opinią na temat przenośności, jest to jeden z powodów, dla których przeprowadzam się do Vima. Dzięki.Cmd
sięControl
w iTerm2, a następnie w tym samym oknie, dodać skróty, aby otworzyć nową kartę z^t
itp, wszystko działa!Odkryłem, że iterm2 ma opcję w ustawieniach klawiatury, aby zrobić coś takiego. Na przykład poniżej zamapowałem polecenie-enter na: wq
źródło
W przypadku prostych poleceń istnieje rozwiązanie poprzez wysłanie odpowiedniego kodu szesnastkowego do terminala. Na przykład chciałem zapisać w vimie, naciskając
cmd-s
. I odwzorowanycmd-s
w iterm2 wysłać kod szesnastkowy0x13
, który jest kodemctrl-s
, a następnie I mapowanectrl-s
do:wq
w vim.źródło
Rozwiązaniem 2016 jest użycie programu open source Karabiner , który umożliwia na przykład mapowanie modyfikatora i innych kluczy z bardzo drobną ziarnistością , na przykład
Na przykład, oto jak zmienić przypisanie lewego ⌘ Cmdklawisza, aby działał jak Ctrl tylko wewnątrz terminala (i pozostaw prawy nietknięty, abyś mógł nadal używać np. ⌘ Cmd + TabDo przełączania między aplikacjami):
źródło