умный ctrl+w: закрыть таб или удалить слово?
в консоли убунты есть несколько удобных клавиатурных сокращений, и моё самое любимое из них — ctrl+w. Если я сделал в слове опечатку, то обычно я исправляю её именно набирая слово с нуля, а этот хоткей как раз удаляет слово перед курсором — очень удобно. Настолько удобно, что в других приложениях я довольно часто рефлекторно нажимаю те же две кнопки. К сожалению, очень часто программа воспринимает это как команду закрыть таб.
отказаться от закрытия таба по ctrl+w мне очень не хочется, потому что таким хоткеем я тоже пользуюсь часто. Идеальным вариантом было бы удаление слова при редактировании текста и закрытие таба в остальных ситуациях. Как обычно, на помощь приходит user javascript — Smart Ctrl+W: delete word or close tab. Логика внутри довольно простая: если клавиатурное событие ctrl+w пришло из текстового поля, отменить событие и удалить в этом поле слово перед курсором.
как обычно, постфактум я сообразил, что в опере добиться желаемого можно ещё проще: достаточно в настройках горячих клавиш (Preferences → Advanced → Shortcuts → Keyboard setup → Edit…) исправить для «w ctrl» значение с «Close page, 1» на «Backspace word | Close page, 1».
дисклеймеры: этот хоткей есть не только в убунте, не только в консоли, не во всякой консоли; скрипт не работает в опере, потому что в опере работают настройки