GNU/Linux >> Znalost Linux >  >> Linux

Jak opravit Ctrl + šipky ve Vimu?

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

Linux
  1. Jak nainstalovat Vim (vi) na Windows 10

  2. Co dělá Ctrl+v ve Vimu?

  3. jak používat pylint ve vim

  1. Jak přidat příkaz do editoru vim?

  2. Jak napíšu návrat vozíku?

  3. Jak zastavit výstup ping?

  1. Jak nakonfiguruji Vim jako svůj výchozí editor v Linuxu

  2. Jak nastavit tabulátor na 4 mezery ve vim?

  3. Jak přejdu na další nebo předchozí slovo pomocí CTRL + kláves se šipkami v konzole?