Zjistěte přesně, jakou escape sekvenci odesílá váš terminál pro Ctrl +šipka zadáním Ctrl +V , Ctrl +šipka v režimu vkládání:vloží úvodní ESC
znak (zobrazený jako ^[
in vim) doslova, následovaný zbytkem únikové sekvence. Pak řekněte vim o těchto únikových sekvencích pomocí něčeho jako
map <ESC>[5D <C-Left>
map <ESC>[5C <C-Right>
map! <ESC>[5D <C-Left>
map! <ESC>[5C <C-Right>
Zdá se mi, že si vzpomínám, že Putty má výchozí nastavení pro režim aplikačních kurzorových kláves, což je nepohodlné (zapomněl jsem proč), možná budete chtít toto nastavení nejprve přepnout.
Všimněte si, že ačkoli se escape sekvence mezi terminály liší, konflikty (tj. escape sekvence, které odpovídají různým klíčům v různých terminálech) jsou vzácné, takže není potřeba zkoušet aplikovat mapování pouze na konkrétní typ terminálu.
Nejlepším řešením je pravděpodobně podívat se na konfiguraci režimu aplikačních kurzorových kláves v PuTTY.
Výchozí sekvence posílají ESC jako prefix a [
následuje A
ppend nebo C
pověšení nebo jiné věci, které vás uvedou do režimu vkládání.
přidáno po Gillesovi
Trochu explicitnější verzi ^V escape lze vidět s od(1). Tady píšu ^Nahoru, ^Dolů, ^Vpravo, ^Vlevo na svém terminálu:
$ od -a
0000000 esc [ 1 ; 5 A esc [ 1 ; 5 B esc [ 1 ;
0000020 5 C esc [ 1 ; 5 D
Můj terminál tedy odešle ^[[1;5A
když stisknu Ctrl + ↑
Našel jsem lepší řešení zde:http://vim.wikia.com/wiki/Fix_arrow_keys_that_display_A_B_C_D_on_remote_shell
Stačí zadat tento řetězec do .vimrc
soubor:
:set term=cons25
Aktualizovat
Zkopírujte tento soubor do /home
, přejmenujte jej na .vimrc
:
/usr/share/vim/vim_VERSION_/vimrc_example.vim