Сделать сочетание клавиш для Info в Zsh? - PullRequest
6 голосов
/ 07 мая 2009

Zsh имеет следующую комбинацию клавиш для Man

Esc + ч

Я хотел бы иметь аналогичное сочетание клавиш для информации, такой как

Esc + я

Как сделать такую ​​комбинацию клавиш для Info?

1 Ответ

13 голосов
/ 08 мая 2009

Это должно сработать:

function run_info() { 
  # Prepend "info" to the command line and run it.
  BUFFER="info $BUFFER"
  zle accept-line
}

# Define a widget called "run_info", mapped to our function above.
zle -N run_info

# Bind it to ESC-i.
bindkey "^[i" run_info

Просто вставьте это в оболочку, чтобы попробовать, и добавьте в свой .zshrc для постоянного эффекта.

Перефразируя код: общая идея состоит в том, что мы сначала определяем виджет с именем «run_info», реализованный с помощью функции с тем же именем. Он берет буфер командной строки и добавляет «info» в начало. Затем он принимает командную строку (аналогично нажатию Enter ). Наконец, виджет сопоставляется с сочетанием клавиш.

Вы можете прочитать справочную страницу zshzle (1) для получения дополнительной информации о том, как это работает.

...