Там какой-либо путь состоит в том, чтобы позволить Ctrl+L очистить экран, когда 'установленный-o vi' установлен?

Работать вокруг.

С GNU xargs и ksh/zsh/bash:

sudo xargs -r --arg-file <(cat packages) apt-get remove

(конечно, если команда справедлива cat, затем можно заменить <(cat packages) с packages.

Или:

< packages sudo xargs sh -c 'exec apt-get remove "$@" < /dev/tty' sh

В зависимости от формата файла "пакетов" (xargs ожидает разделенный от пробела список аргументов и обрабатывает кавычки (", ' и \), в то время как $(...) не обрабатывает кавычки и разворачивает globbing шаблоны), Вы могли также сделать:

sudo apt-get remove $(cat packages)

Но обратите внимание на то, что много операционных систем имеют предел на длину командной строки, так, чтобы мог не работать, если список является большим (в то время как xargs будет работать вокруг проблемы путем выполнения нескольких apt-get команды).

55
29.05.2015, 17:12
2 ответа

Ctrl+L также связывается в vi командном режиме, но не в режиме вставки. Нет никакой привязки значения по умолчанию для clear-screen в режиме вставки. Привязка Readline должна быть указана в ~/.inputrc, как так:

set editing-mode vi
$if mode=vi

set keymap vi-command
# these are for vi-command mode
Control-l: clear-screen

set keymap vi-insert
# these are for vi-insert mode
Control-l: clear-screen 
$endif

Это обяжет Ctrl+L очищать экран и в нормальном и в режиме вставки. Естественно, если Вы предпочитаете только использовать его в одном режиме, просто удалите соответствующую опцию.

Существует обширный список readline, управляет, чтобы можно было использовать для настройки оболочки удара с.

62
27.01.2020, 19:33
  • 1
    из любопытства, почему беспокойство с vi-командой, если это уже отображается? только ради полноты, или существует ли техническая причина? –  Ken Bellows 10.10.2017, 16:43
  • 2
    @KenBellows для ясности, согласно комментариям (и мне был нужен пример в блоке vi-команды по чисто эстетическим причинам). –  jasonwryan 10.10.2017, 18:17

Вставьте эту строку Ваш bashrc:

bind -m vi-insert "\C-l":clear-screen
22
27.01.2020, 19:33

Теги

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