Клавиши «вниз» и «влево-вправо» работают в командной строке KornShell (ksh)

Любое обновление, которое вы можете предоставить, будет отличным.

Когда я помещаю это в .profile:

set -o emacs 
alias __A=`echo "\020"`     # up arrow = ^p = back a command 
alias __B=`echo "\016"`     # down arrow = ^n = down a command 
alias __C=`echo "\006"`     # right arrow = ^f = forward a character 
alias __D=`echo "\002"`     # left arrow = ^b = back a character 
alias __H=`echo "\001"`     # home = ^a = start of line 
alias __Y=`echo "\005"`     # end = ^e = end of line 

Я могу использовать клавиши вверх/вниз для истории.

Но я хочу редактировать из командной строки с помощью команд vi. Я знаю, что set -o vi сделает это, но тогда я потеряю функциональность клавиш вверх/вниз, предоставляемую set -o emacs.

Итог: я хочу использовать клавиши со стрелками вверх/вниз/влево/вправо, и я хочу редактировать из командной строки с помощью команд vi. Как это сделать?


person user79292    schedule 20.10.2011    source источник


Ответы (1)


Используйте .vimrc dotfile, чтобы отключить привязки к специальным клавишам, а затем сопоставьте каждый движение стрелки от клавиш vi по умолчанию к клавишам курсора в обычном режиме с использованием обозначение угловых скобок:

set cpo-=<
set exrc
set fileformats=unix,dos,mac
nmap k <Up>
nmap j <Down>
nmap h <Left>
nmap l <Right>

Ссылки

person Paul Sweatte    schedule 06.02.2012