Git bash как вставить из буфера
Перейти к содержимому

Git bash как вставить из буфера

  • автор:

Полезные горячие клавиши для Bash

В данной статье представлен перечень сочетаний клавиш для более удобного манипулирования текста командной строки.

Управление запущенными процессами

Эти сочетания позволяют управлять процессами, запущенными в командной строке.

Ctrl+C: Закрывает текущий процесс, запущенный в терминале. Некоторые приложения могут его игнорировать.

Ctrl+D: Закрывает bash оболочку вместе с процессами. Схожа с командой exit .

Ctrl+Z: Сворачивает текущий процесс. Его можно возобновить с помощью команды fs process_name .

Управление экраном

Следующие команды позволяют контролировать вывод в оболочке bash .

Ctrl+L: Производит быструю очистку экрана. Похожа на команду clear .

Ctrl+S: Останавливает весь вывод на экране. Это полезно когда необходимо временно остановить запущенный процесс.

Ctrl+Q: Продолжает работу и отображение вывода после ее остановки.

Управление курсором

Используйте следующие комбинации чтобы быстро управлять курсором в текущей линии пока печатаете команду.

Ctrl+A или Home: Курсор идет в начало строки.

Ctrl+E или End: Курсор идет в конец строки.

Alt+B: Курсор двигается к началу на одно слово.

Ctrl+B: Курсор двигается к началу на один символ.

Alt+F: Курсор двигается в конец на одно слово.

Ctrl+F: Курсор двигается в конец на один символ.

Ctrl+XX: При повторном исполнении команды, курсор будет двигаться между началом линии и текущей позиции курсора.

Удаление текста

Используйте следующие команды для быстрого удаления текста:

Ctrl+D или Delete: Удаляет символ находящийся на курсоре.

Alt+D: Удаляет все символы находящиеся после курсора на текущей линии

Ctrl+H или Backspace: Удаляет символ, находящийся перед курсором.

Переставление

Alt+T: Переставляет текущее слово и предыдущее.

Ctrl+T: Переставляет два предыдущих символа перед курсором. Можно использовать, когда например написал cta вместо cat .

Ctrl+_: Делает отмену последней нажатой клавиши. Можно повторять несколько раз.

Вырезка и вставка текста

Ctrl+W: Делает вырезку слова перед курсором и добавляет его в буфер.

Ctrl+K: Вырезает весь текст после курсора и добавляет его в буфер.

Ctrl+U: Вырезает весь текст перед курсором и добавляет его в буфер.

Ctrl+Y: Вставляет последний контент из буфера.

Регистр

Alt+U: После курсора слово переводится в верхний регистр.

Alt+L: После курсора слово переводится в нижний регистр.

Alt+C: После курсора первый символ слова переводится в верхний регистр.

Перебор команд из истории

bash также позволяет делать прокрутки недавно запущенных команд, которые хранятся в истории.

Ctrl+P или Up Arrow: Показывает предыдущую введеную команду. Можно несколько раз прожимать, чтобы проходить через историю.

Ctrl+N или Down Arrow: Показывает следующую введеную команду.

bash также имеет особый режим поиска команд которые были введены прежде.

Ctrl+R: Вызывает последнюю команду, которая соответствует введенной ключевой фразе.

Ctrl+O: Запускает найденную команду в этом режиме.

Ctrl+G: Выход из режима.

Режим

Описанные выше команды предполагают использование стандартной конфигурации в терминале. По умолчанию bash использует комбинации в стиле редактора emacs . Можно переключать в режим редактора vi , если он является предпочтительнее.

$ set -o vi # vi mode $ set -o emacs # default mode 

Подробное указание команд было взято с данной статьи: link

Буфер обмена в Linux (копирование и вставка)

Copy paste Linux

Хочу рассказать о некоторых особенностях буфера обмена в Linux. О буфере копирования и про буфер выбора (первичный буфер), а также про копирование и вставку текста в терминале.

Буфер копирования

Стандартно для копирования и вставки объектов в Linux используются сочетания клавиш Ctrl+C и Ctrl+V. При копировании текст (или любой другой объект) в таком случае попадает в обычный буфер копирования. Затем вы можете вставить этот текст в другом месте.

Буфер выбора (первичный буфер)

В Linux существует еще буфер выбора или первичный буфер. Текст, который вы выделяете в любой программе, автоматически попадает в буфер обмена! Это удобно, выделил текст, открыл другое окно и вставил этот кусок текста. Есть некоторые исключения, но они незначительны. Например, у меня в Ubuntu это не работает, если программа использует JVM (Java Virtual Machine).

Кстати, именно этим объясняется следующие поведение. Вы выделили текст в программе, затем открыли другую программу и выделили какой-нибудь текст в ней. После этого, выделение текста в первой программе автоматически снимется, а текст который вы выделили последним, попадет в буфер выбора.

Копирование и вставка в терминале

В терминале для копирования и вставки не работают стандартные сочетания Ctrl+V, Ctrl+C. Это связано с тем, что исторически Ctrl+C это сочетание клавиш для прерывания текущего процесса. Поэтому, для копирования и вставки при работе в терминале используются сочетания Ctrl+Insert и Shift+Insert соответственно. В Gnome терминале и, наверное, во многих других также работают сочетания Shift+Ctrl+C и Shift+Ctrl+V. Они же указаны в главном меню программы в разделе Правка.

Также в терминале работают сочетания клавиш Ctrl+U, чтобы вырезать текст; и Ctrl+Y для вставки текста. Сочетание Ctrl+U работает особенным образом — в буфер копируется вся текущая строка, введенная в терминале, независимо от того, выбрали вы какой-нибудь текст мышкой или нет, а сама строка пропадает с экрана.

Git и GitHub на windows от новичка [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме.

Закрыт 8 лет назад .

  1. Обязательно ли надо иметь repo на GitHub.com (или другом подобном хостинге)? Над проектом работаю один на компьютере и нетбуке, поэтому GitHub мне не нужен. (Возможно спросите зачем мне тогда Git. Отвечаю: а)интересно б)нужно знать в этом мире хотя бы одну систему контроля версий в)для удобства)
  2. Взаимодействие между всеми repo происходит одинаково? Например, есть ли разница между взаимодействием repo на одном компьютере с repo на другому компьютером и repo на компьютере с repo на GitHub?
  3. GitHub предоставляет свою программу GitHub. Для чего это программа? Она обязательна для работы с repo на GitHub.com?. Я так понимаю, эта программа нужна, чтобы работать с repo на GitHub.com и для упрощения взаимодействия Git’а с repo на GitHub.com. Так?
  4. Как лучше работать с Git: с GUI или через Bash или еще что-то? А как проще? Наверняка будут аргументы и за GUI и за Bash или еще что-то. Ведь не зря существуют разные варианты.
  5. Допустим есть repo для своего проекта на GitHub. Создан проект в MS VisualStudio. Где должен находиться repo на компьютере? В папке с проектом? А какие обычно файлы попадают в repo? Все файлы? Только файлы кода? Файлы кода и ресурсы (картинки, видео и т.д.)? Или еще что-то?
  6. Как проходит обычный процесс работы над проектом? Допустим, поработал над проектов в MS Visual Studio. Теперь надо зайти в Git (GUI или Bash) и там закоммитить все изменения. Так?
  7. В Git Bash на windows не работает ни Ctrl+V, ни ПКМ+вставить. Непонятно как работать с редактором, который открывается после выполнения команды git commit . Как сохранить запись в этом редакторе? Если есть 2 или более коммита и если написать git log -p -2 , то покажет только первый коммит, на втором остановится и надо что-то ввести, иначе ничего нельзя сделать. Откуда узнать что надо вводить? Это вообще все так и должно быть? Как с этим «бороться»? Есть ли нормальная альтернатива Git Bash?
  8. Почему в заголовке Git Bash написано «MINGW32:~»?

Отслеживать
371 1 1 золотой знак 5 5 серебряных знаков 13 13 бронзовых знаков
задан 16 дек 2012 в 20:35
chevchelios chevchelios
766 3 3 золотых знака 8 8 серебряных знаков 23 23 бронзовых знака

7. Чтобы вставить текст в консоли, нужно сначала настроить консоль. Нажмите ALT + SPACE, выберете пункт «свойства», дальше раздел «общие» и активируйте чекбокс «Выделение мышью». Теперь вы сможете вставлять текст из буфера обмена в консоль с помощью щелчка правой кнопки мыши, а чтобы копировать текст из консоли в буфер обмена, нужно выделить его и тоже нажать правую кнопку мыши.

4 мар 2015 в 22:48

А теперь насчет работы с редактором, вы можете изменить редактор по умолчанию на свой, введя команду git config —global core.editor «‘C:\\Program Files (x86)\\Notepad++\\notepad++.exe’ -multiInst -notabbar -nosession -noPlugin» 8. Если хотите все как в линукс, то можете использовать Cygwin с установленными пакетами git, там будет все также как в линукс.

4 мар 2015 в 22:48

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

  1. Можно не иметь. Но лучше иметь, там ваш проект защищён, и никуда не денется. А пользоваться git-овым репозиторием локально для проекта, даже без удалённого репозитория — отличная идея.
  2. Не совсем понятен вопрос. Попробуйте разобраться с тем, что такое локальный и удалённый (remote) репозитории, тогда вам будет более понятна разница между репозиторием из папки .git и github’ом (или любым другим git сервером).
  3. Совсем не обязательно. Рекомендую изучить работу с командной строкой.
  4. Что удобнее — каждый выбирает для себя сам. Но есть случаи, когда без командной строки не обойтись.
  5. Локальный репозиторий находится в подпапке .git вашего проекта. В него попадают все файлы, которые вы туда добавите. Если какие-то файлы или папки не должны туда попадать, например, скомпилированные двоичные файлы, то их можно исключить, занеся их в файл .gitignore .
  6. Так. Иногда даже лучше это делать чаще. Ведь предыдущий коммит можно дополнить. А вот испорченный код можно откатить только до состояния предыдущего коммита (когда Ctrl+Z уже не помогает). Изучите ветки — это так же просто, как копировать папку проекта целиком в папки вида backup1 , но гораздо удобнее.
  7. Попробуйте воспользоваться средней клавишей мыши для вставки, предварительно убедившись, что вы можете впечатывать туда с клавиатуры. Либо нажмите Esc и потом P . Редактор для коммитов предполагает, что вы знакомы с редактором Vim и его сочетаниями клавиш. Записать будет ZZ , добавить строку — o , перейти из режима ввода текста в командный — Esc , обратно — a , i или o . Если не умеете пользоваться редактором, пользуйтесь заданием сообщения для коммита через командную строку, вот так:
git commit -m 'здесь сообщение коммита' 

Если есть 2 или более коммита и если написать git log -p -2, то покажет только первый коммит, на втором остановится и надо что-то ввести, иначе ничего нельзя сделать.

Можно проматывать стрелочкой вниз или клавишами J / K , можно искать клавишей / .

Есть ли нормальная альтернатива Git Bash?

bash тут в общем-то ни при чём. Основные команды редактора Vim знать полезно, они работают во многих стандартных утилитах (less, man и т.п).

RANUX / комбинации-клавиш-bash.txt

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

##### Перемещение курсора:
Ctrl + a — переход в начало строки
Ctrl + b — переход на 1 символ назад
Ctrl + c — посылает программе SIGINT. Обычно, прерывает текущее задание
Ctrl + d — удаляет символ под курсором (аналог delete)
Ctrl + e — переход к концу строки
Ctrl + f — переход на 1 символ вперёд
Ctrl + xx — переходит от текущей позиции курса в начало строки и обратно.
Ctrl + p — Предыдущая команда (Стрелка вверх)
Ctrl + n — Следующая команда (Стрелка вниз)
Alt + b — Переместить курсор на одно слово назад (влево)
Alt + f — Переместить курсор на одно слово вперед (вправо)
Ctrl + b — Переместить курсор на один символ назад (влево)
Ctrl + f — Переместить курсор на один символ вперед (вправо)
Ctrl + xx — Переключение между началом строки и текущей позиции курсора
##### Редактирование
Ctrl + L — очищает экран. Аналог команды clear.
Alt + Del — Удалить слово перед курсором.
Alt + d — Исключить слово после курсора.
Ctrl + D — Удалить символ под курсором
Ctrl + H — Удалить символ перед курсором (Backspace)
Ctrl + Alt + H — Удаление слова перед курсором
Ctrl + W — Вырезать слово перед курсором в буфер обмена.
Ctrl + K — Вырезать строки после курсора в буфер обмена.
Ctrl + U — Вырезать / удалить все символы слева от курсора до начала строки в буфер обмена.
Alt + T — Поменять текущее слово с предыдущим
Ctrl + T — Поменять местами последние два символа перед курсором. Меняет символ под курсором на предыдущий. Или, если хотите, тянет предыдущий символ к концу строки.
Esc + T — Поменять местами последние два слова перед курсором.
Ctrl + Y — Вставить последнюю запись из буфера, которая была вырезана.
Alt + U — Возвести в ВЕРХНИЙ РЕГИСТР (прописными буквами) все символы от курсора до конца текущего слова.
Alt + L — Возвести в нижний регистр каждый символ от курсора до конца текущего слова.
Alt + C — Сделать прописным символ под курсором и перейти к концу слова.
Alt + R — Отменить изменения. Вернуть команду взятую из истории в исходное состояние.
Ctrl + _ — Отмена
Shift + PgUp / PgDown — прокрутку вверх / вниз
Ctrl + X; Ctrl + E — открывает $EDITOR для изменения введённой строки. После сохранения изменений, команда отправляется на исполнение. Если переменная не задана, то открывается системный текстовый редактор (для линукса это, зачастую, nano)
Ctrl + X @ — показывает возможные дополнения имени хоста
TAB — авто дополнение для имен файлов / каталогов
Например, чтобы перейти в каталог ‘sample1’, введите команду «`cd sam«`, затем нажмите TAB и ENTER. Вводите только достаточное количество символов, чтобы однозначно идентифицировать каталог или программу, которую вы хотите открыть.
##### История
Ctrl + R — поиск по истории. Повторение поиска (нажмите несколько раз для листания по результам поиска).
Ctrl + P — Предыдущая команда в истории (то есть идти назад по истории команд)
Ctrl + N — Следующая команда в истории (то есть идти вперед по истории команд)
Ctrl + J — прекращает поиск и позволяет отредактировать найденную команду. Если поиск не производился, то аналогично нажатию return. (в zsh выполняет команду)
Ctrl + S — Вернуться к следующему самой последней команде. (Остерегайтесь, чтобы не выполнить его из терминала, потому что это также запустит свой XOFF).
Ctrl + Z — приостановить (suspend) текущую задачу.
Ctrl + O — Выполните команду найденную с помощью Ctrl + R или Ctrl + S
Ctrl + G — Выход из режима поиска
«`history | grep regex«` — поиск в истории
!! — Выполнить еще раз последнюю команду
!! sudo — повторить последнюю команду с правами super user
!abc — Выполнить последнюю команду, имя которой начинается с abc
!abc:p — Вывести последнюю команду, имя которой начинается с abc
!$ — Последний аргумент предыдущей команды
ALT + . — Последний аргумент предыдущей команды
!* — Все аргументы предыдущей команды
^abc­^­def — Выполнить предыдущую команду, заменив abc на def
##### Управление процессом выполнения
Ctrl + C Прервать/Убить запущенное приложение (SIGINT)
Ctrl + S Остановить вывод на экран (для длительных многословных команд)
Затем используйте PgUp / PgDn для навигации
Ctrl + Q Разрешить вывод на экран (если ранее перестали использовать команду выше)
Ctrl + D Отправить EOF, если не была выключена опция, это закроет текущую оболочку (EXIT)
Ctrl + Z Послать сигнал SIGTSTP к текущей задаче, которая приостанавливает его.
Установить режим Vim в Bash:
«`$ set -o vim«`
Установить режим Emacs в Bash:
«`$ set -o emacs«`

adlaternae commented Oct 24, 2022 •

странная и неточная компиляция из разных источников, смешаны управляющие команды терминалов и хоткеи баша.
к примеру, в bash\sh ctrl-z посылает SIGTSTP, который приостанавливает вывод на текущий терминал, а сама задача таким образом отправляется работать как служба (daemon), вернуть задачу из бэкграунда можно командой fg

ctrl+c посылает SIGINT для прерывания работы задачи, но поведение зависит от приложения, этот сигнал может быть перехвачен в приложении. ctrl+break, как правило, не перехватывается

ctrl+q\s приостанавливает движение потоков ввода-вывода

ctrl+d посылает EOF в поток ввода, что для баш работает как Deattach, т.е. отсоединяет текущую сессию\консоль, что похоже на команду exit, но не совсем (в винде eof отправляется по ctrl+z)

и так далее ;))
опечатка, опять же: выполнить предыдущую команду с повышением прав sudo !! , а не наоборот. дополнение по табуляции не является стандартным поведением, его надо включить, для дебиана sudo aptitude install -y bash-completion

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *