формат подстановки переменных ksh?

Да, это возможно. Можно загрузиться menu.vim (значение по умолчанию gvim определения меню), или можно только запустить с нуля и создать собственное, затем получить доступ к ним через :emenu. Это не дает Вам подобные нано всегда видимые меню, хотя; это дает Вам способность переместиться по меню с помощью заполнения клавишей Tab командной строки.

Если у пользователя не будет vimrc, то Вы захотите запуститься путем отключения vi совместимости:

:set nocompatible

Включите умное завершение командной строки на <Tab> (позвольте перечислить весь возможный выбор и переместиться по результатам с <Up>, <Down>, <Left>, <Right>, и <Enter>):

:set wildmenu

Сделайте повторенный цикл нажатий между всем выбором соответствия:

:set wildmode=full

Загрузите меню по умолчанию (это произошло бы автоматически в gvim, но не в терминальной энергии):

:source $VIMRUNTIME/menu.vim

После тех четырех команд можно вручную инициировать завершение меню путем вызова заполнения клавишей Tab на :emenu команда, путем выполнения :emenu<space><tab>

Можно переместиться по результатам с помощью клавиши Tab и клавиш со стрелками и клавиши Enter (она и разворачивает подменю и выбирает объекты). Можно затем сделать это более удобным, идя шаг вперед и обязывая отображение открыться меню, не имея необходимость вводить :emenu каждый раз:

Сделайте Ctrl-Z в отображающемся действии как нажатие <Tab> в интерактивном режиме на командной строке:

:set wildcharm=<C-Z>

И сделайте привязку, которая автоматически вызывает :emenu завершение для Вас:

:map <F4> :emenu <C-Z>
4
04.11.2013, 23:55
1 ответ

ksh 93 имеет a nameref команда, которая позволяет Вам создать "псевдонимы" к переменным:

var1EMI=a
var2EMI=b
for v in var1 var2; do 
  nameref var=${v}EMI
  echo "${v}EMI is $var"
done
var1EMI is a
var2EMI is b

Для ksh88 Вы можете быть вынуждены использовать eval; замена:

nameref var=${v}EMI

с:

eval var=\$${v}EMI
8
27.01.2020, 20:50

Теги

Похожие вопросы