Comments 59
полезный сборник, спасибо. Часть интуитивно знаешь, часть из опыта, но многие сокращения для меня стали открытием.
ну кроме полезных переходов в начала/конец строки, настоящим открытием стало «Ctrl + x; Ctrl + e»: я люблю иногда писать «однострочки» из команд 10, а без редактора это не всегда удобно (или становится неудобно, по мере написания ;). Вот однажды вычитал в мане, что эта моя проблема легко решается. Да и результат можно сразу сохранить в файлик.
Ох какая красота, надо раскрасить и на стенку бабахнуть. Спасибо.
Я пока набирал попробовал раскидать информацию по таблице или в каком-то формате более похожем на cheat-sheet, но для статьи здесь они не очень подошли. Всю статью можно свести к одной-двум картинками подобного вида, на самом деле. Но лучше при этом заранее прочитать более развёрнутое объяснение.
UFO just landed and posted this here
zsh выводит список дополнений при одиночном нажатии Tab, а при последующих начинает перебирать их.
Это режим редактирования emacs. Существует еще и режим vi.
set -o vi
set -o emacs
set -o vi
set -o emacs
Мега респект за Ctrl + x; Ctrl + e и Ctrl + xx :)
вместо Ctrl+xx всегда можно было использовать Home и End кнопками, кстати.
UFO just landed and posted this here
Теперь я понял, почему пользователи FreeBSD использую zsh =)
Преподобный Vim не одобряет свалок из свистелок «все-в-одном».
Спасибо большое. Вот только вопрос: можно ли баш научить по нажатию стрелки вверх перебирать из истории только те команды, начало которых совпадает с тем, что уже было набрано в строке непосредственно перед нажатием стрелки вверх? Так действует ipython и я нахожу это чрезвычайно удобным.
Хмм… В симуляторе на Cisco IOS Alt+символ просто вводит символ. Попробую в вс на реальной железке, может не посчитали нужным добавить в симулятор. За Ctrl+a и Ctrl+e отдельное спасибо )
Возможно, мой комментарий будет полезен начинающим.
Чтобы вернуться к таким задачам, используется команда fg.
Если задач несколько, введите аргумент — число, стоящее в квадратных скобках вывода команды jobs:
Для двух последних команд можно использовать '+' и '-'.
Ctrl + z — suspend'ит текущую задачу (csh, zsh)
Чтобы вернуться к таким задачам, используется команда fg.
Если задач несколько, введите аргумент — число, стоящее в квадратных скобках вывода команды jobs:
root@vpupkin# jobs
[1] Остановлено vim
[2]+ Остановлено nano
[3]- Остановлено less /etc/hosts
root@vpupkin# fg 2
Для двух последних команд можно использовать '+' и '-'.
Остановлено vimЗачем, зачем переводить шелл? Мне вот приятнее читать английский, чем такую красоту.
Ну и я тогда ляпну:
Ctrl+\ — убьёт то, что не может быть остановлено по Ctrl+C, например если оно впадает в dead-lock на выходе.
Ctrl+\ — убьёт то, что не может быть остановлено по Ctrl+C, например если оно впадает в dead-lock на выходе.
Как бы настроить Putty, чтобы он понимал виндовые сочетания клавиш для работы с кареткой? Ctrl+←, Ctrl+→, Ctrl+BckSp, Ctrl+Del
Как бы научить screen прокручивать экран по нажатию клавиши, а не по адовому сочетанию из трех сочетаний (Ctrl+A, [, Ctrl+B)?
Как бы научить screen прокручивать экран по нажатию клавиши, а не по адовому сочетанию из трех сочетаний (Ctrl+A, [, Ctrl+B)?
UFO just landed and posted this here
Подскажите, как забиндить Ctrl+Z. А лучше, как это определять для разных клавиш и сочетаний.
Ctrl+BckSp — удаление последнего слова, тоже интересно.
Ctrl+BckSp — удаление последнего слова, тоже интересно.
В винде все привыкли к этому:
Ctrl+← — переместить курсор на одно слово влево;
Ctrl+→ — переместить курсор на одно слово вправо;
Ctrl+BckSp — удалить слово слева от курсора;
Ctrl+Del — удалить слово справа от курсора.
Под словом понимается группа буквенно-цифровых символов, а также подчеркиваний, неразрывных пробелов и, возможно, чего-то еще.
Ctrl+← — переместить курсор на одно слово влево;
Ctrl+→ — переместить курсор на одно слово вправо;
Ctrl+BckSp — удалить слово слева от курсора;
Ctrl+Del — удалить слово справа от курсора.
Под словом понимается группа буквенно-цифровых символов, а также подчеркиваний, неразрывных пробелов и, возможно, чего-то еще.
UFO just landed and posted this here
А есть ли комбинация, чтобы послать задачу в фон, не усыпляя её? А то делать ctrl+z а потом bg как-то не очень…
Я так адски страдала без ctrl+r. Спасибо вам.
Тем, кто хочет получить ещё больше экспириенса в работе с шеллом, советую поставить zsh а затем посмотреть grml-zsh-config с сайта дистрибутива grml и man-page zsh-lovers тоже с сайта grml. Там очень много интересных трюков.
Например там есть подстановка по хоткею sudo в начало текущей строки, или, если строка пустая, в последнюю введенную комманду. Или хоткей для перехода в точку после первого слова в строке (для дописывания аргументов, например) и т.п., очень много функций облегчающих работу в шелле. Есть там и функция, которой можно заменить сочетание C-z, используемое для саспенда задачи. В версии grml, если активной задачи нет — выполняется fg.
P.S. zsh самый навороченный shell, afaik
Например там есть подстановка по хоткею sudo в начало текущей строки, или, если строка пустая, в последнюю введенную комманду. Или хоткей для перехода в точку после первого слова в строке (для дописывания аргументов, например) и т.п., очень много функций облегчающих работу в шелле. Есть там и функция, которой можно заменить сочетание C-z, используемое для саспенда задачи. В версии grml, если активной задачи нет — выполняется fg.
P.S. zsh самый навороченный shell, afaik
Огромное спасибо! Добавил все команды в виде комментариев в свой .bashrc. Теперь они всегда под рукой будут. Я как то редко консолью пользуюсь, но зато очень метко :) Поэтому такие шпаргалки необходимы.
Спасибо огромное! Ctrl+x,Ctrl+e вынес мой моск.
От себя добавлю в копилку:
<Esc>+. подставит последний аргумент из предыдущей команды.
Пример:
От себя добавлю в копилку:
<Esc>+. подставит последний аргумент из предыдущей команды.
Пример:
$ touch /tmp/testfile $ rm <Esc>+. превратится в rm /tmp/testfile
Это же Emacs режим
а скажите как скопировать/вставить а bash?
например, это возможно через выход в текстовый редактор (если нужно скопировать и вставить часть команды). Однако по моему опыту, copy/paste редко нужен в консоли. Если что-то нужно сохранить используются переменные и простейшие скрипты для их обработки. Хотя, бывает, иногда проще руками ввести что-то с экрана.
Этим занимается эмулятор терминала. Например, для копирования текста в буфер нужно выделить его мышью, а для вставки — нажать среднюю кнопку.
На самом деле буфера нет и всё происходит при нажатии средней кнопки мыши. При выделении только устанавливается окно-владелец PRIMARY SELECTION, но вам это не интересно. :) Единственное, что нужно помнить — при закрытии окна с выделением, оно теряется. Никакого промежуточного буфера нет.
На самом деле буфера нет и всё происходит при нажатии средней кнопки мыши. При выделении только устанавливается окно-владелец PRIMARY SELECTION, но вам это не интересно. :) Единственное, что нужно помнить — при закрытии окна с выделением, оно теряется. Никакого промежуточного буфера нет.
Это, и многое другое, в скринкасте «Bash Command Line Editing» от Tim Harper
Кстати Ctrl+S это поиск по истории вперед, но он по умолчанию совпадает с управлением потоком. Добавте команды
stty ixany
stty ixoff -ixon
В .bashrc
stty ixany
stty ixoff -ixon
В .bashrc
Ну хорошо бы в добавок ссылку на первоисточник дать Bindable Readline Commands — Bash Reference Manual
Кстати раз уж про клавиши зашёл разговор, как в PuTTY передать Ctrl+Alt+Del?
Кстати раз уж про клавиши зашёл разговор, как в PuTTY передать Ctrl+Alt+Del?
Спасибо. Надо распечатать и повесить рядом с монитором.
Офф: нет ли программы дополнения команд/имен файлов под Win? Привык уже к bash, а в Win как будто руки связаны :(
Офф: нет ли программы дополнения команд/имен файлов под Win? Привык уже к bash, а в Win как будто руки связаны :(
«Возможности csh, zsh наверняка не меньше башевских, просто я меньше с ними работал.»
zsh самый навороченный по возможностям шел =)
zsh самый навороченный по возможностям шел =)
Sign up to leave a comment.
Горячие клавиши в шелле