Переместить курсор в начало строки linux

Обновлено: 05.07.2024

Терминал - один из самых мощных инструментов Linux. С помощью него можно настроить и сделать практически всё в этой операционной системе. Чтобы сделать работу в терминале ещё более удобной и продуктивной разработчики добавили различные сочетания клавиш.

В этой статье мы собрали самые полезные горячие клавиши терминала Linux, которые могут пригодится вам в работе. Здесь есть комбинации клавиш для навигации по истории команд, коррекции ошибок и управления окном терминала. Все клавиши расположены в случайном порядке.

Горячие клавиши терминала Linux

1. Tab

Без этого сочетания терминалом пользоваться невозможно, и поэтому его знают все. Одно нажатие клавиши Tab автоматически дополняет текущую команду или путь к файлу если возможен только один вариант. Два нажатия по ряд показывают возможные варианты автодополнения. Это делает набор команд и путей к файлам намного быстрее.

2. Ctrl + R

После нажатия Ctrl+R появляется строка поиска в которой вы можете начать вводить имя команды, которую надо выполнить. Система найдёт все команды, которые ранее выполнялись с таким началом и отобразит самую свежую. Вы можете уточнить поиск добавив ещё несколько символов. Для выполнения команды просто нажмите Enter, для редактирования Esc.


3. Ctrl + C

Это сочетание клавиш позволяет прервать работу любой программы, которая выполняется в терминале. После нажатия Ctr + C программе отправляется сигнал SIGINT и если она не обрабатывает его особым образом выполнение программы завершается. Некоторые программы перехватывают сигнал и перед завершением выполняют кое какие действия по сохранению данных и завершению операций, например пакетный менеджер zypper.

4. Ctrl + Z

С помощью Ctrl+Z вы можете перевести текущую программу в фоновый режим. Обычно, если вам надо чтобы программа выполнялась в фоновом режиме просто добавьте символ & после команды. Но если вы забыли это сделать поможет это сочетание клавиш. Чтобы посмотреть задачи, которые сейчас работают в фоне используйте команду jobs, а для возврата задачи в нормальный режим - команду fg.

5. Ctrl + D

Сочетание клавиш Ctrl+D можно считать альтернативой команды exit. Если вы подключены по SSH то сессия будет разорвана. Если вы работаете в терминале напрямую, то окно будет закрыто.

6. Ctrl + L

Альтернатива команды clear. Позволяет очистить вывод терминала. Очень удобно для создания снимков экрана и просто для очистки лишней информации.

7. Ctrl+P и Ctrl+N

Эти сочетания клавиш альтернативы клавишам стрелки вверх и вниз. Первое показывает предыдущую введенную команду, а второе следующую. Так вы можете перемещаться по истории команд. Это не удобнее стрелок, но иногда может быть полезно.

8. Ctrl + A и Ctrl + E

Перемещаться можно не только по истории команд, но и по текущей строке. Эти горячие клавиши - аналоги клавиш Home и End. Первая комбинация перемещает курсор в начало строи, а вторая в конец.

9. Ctrl + U и Ctrl + K

С помощью первого сочетания можно удалить весь текст от начала строки до позиции курсора, а с помощью второго - от позиции курсора и до конца строки. Это может быть полезно если вы ввели неверную команду и не хотите стирать её по одному символу.

10. Ctrl + W

Нажав Ctrl+W вы можете стереть слово перед курсором. Если курсор находится в середине слова, то будут стёрты все символы от курсора до начала слова. Удобнее всего ставить курсор после слова, которое нужно убрать.

11. Ctrl + Y

С помощью Ctrl + Y вы можете вставить текст вырезанный с помощью Ctrl + U, Ctrl + K и Ctrl + W. Текст будет вставлен туда, где находится курсор.

12. Ctrl + B и Ctrl + F

Аналог для клавиш стрелка вправо и стрелка влево. Первое сочетание позволяет перемещаться на один символ вправо, а второе на один символ влево.

13. Ctrl + T

Заменяет символ, находящийся под курсором на предыдущий символ. Или перемещает символ перед курсором к концу строки.

14. Ctrl +X затем Ctrl + E

Открывает текущую команду в текстовом редакторе. Если в переменной EDITOR редактор не задан, то будет использоваться nano. После редактирования и сохранения результата команда будет выполнена. Удобно для написания многострочных скриптов.

15. Alt +.

Аналог команды $!. Позволяет вставить последний аргумент предыдущей команды в позицию курсора. Удобно, если надо выполнить несколько команд с одинаковым аргументом.

16. Alt + B и Alt + F

Эти сочетания позволяют перемещаться по словам, также как их аналоги с Ctrl по символам. Alt + B перемещает курсор на слово влево, а Alt+F на слово вправо.

17. Alt + C, Alt + L и Alt + U

Следующие три сочетания клавиш позволяют играть с регистром символов команды. Первое сочетание - Alt + C делает символ под курсором прописным, а все остальные буквы до конца слова строчными. Alt + L делает все буквы до конца слова строчными, а Alt + U - прописными.

18. Ctrl + S и Ctrl + Q

Если команда выводит информацию слишком быстро, а вам надо прочитать её или скопировать, можно попросить терминал поставить на паузу вывод команды. Для этого нажмите Ctrl +S. Чтобы вернуть всё обратно нажмите Ctrl + Q.

Сочетания клавиш эмулятора терминала

Все сочетания клавиш, перечисленные выше будут работать во всех терминалах и эмуляторах терминала, которые используют командную оболочку Bash или другую популярную оболочку. Но у популярных эмуляторов терминала есть свои горячие клавиши, которые могут вам очень сильно пригодится при работе. Давайте рассмотрим их тоже. В этой статье будут использоваться горячие клавиши из Gnome Terminal, но в других терминалах они похожи.

1. Ctrl + Alt + T

С помощью этого сочетания клавиш можно открыть терминал в большинстве дистрибутивов, основанных на Ubuntu и Debian. Это просто, быстро и удобно.

2. Ctrl + Shift + С и Ctrl + Shift + V

Копирование и вставка - очень важные функции операционной системы. Сочетание клавиш Ctrl + C просто не может работать для копирования, потому что оно используется для завершения команды, поэтому для копирования и вставки была добавлена клавиша Shift.

3. Ctrl + Shift + F

Если вам надо выполнить поиск по выводу в терминале можно воспользоваться сочетанием Ctrl + Shift + F. После нажатия откроется окно ввода, в котором вы можете ввести искомое слово.


4. Shift + ЛКМ и Shift + ПКМ

Здесь ЛКМ и ПКМ - это правая и левая кнопка мышки. Такие программы, как screen и tmux в режиме поддержки работы мышью захватывают контроль мышки и вяжут на неё свои функции. Таким образом обычное копирование и вставка могут стать проблемой. Чтобы этого избежать можно выделять текст сочетанием клавиш Shift + ЛКМ и открывать контекстное меню с помощью Shift + ПКМ.

Выводы

В этой статье мы собрали лучшие сочетания клавиш терминала Linux, которые могут пригодится вам в работе с системой или во время её настройки. А какие горячие клавиши нравятся вам? Какие вы используете? Напишите в комментариях!

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

7.7. Перемещение курсора по экрану

Ранее вы познакомились с тем, как перемещать курсор с помощью клавишей h, j, k, l, BACKSPACE и SPACEBAR. В этом подразделе приводятся еще несколько команд, которые помогут вам быстро перемещать курсор по экрану. Эти команды выполняются в командном режиме.

7.7.1. Позиционирование курсора на символ

  • переместить курсор вправо или влево до нужного символа;
  • переместить курсор в начало или конец строки;
  • поиск символа на строке.

7.7.1.1. Переместить курсор в начало или конец строки

Переместить курсор на первый или последний символ в строке можно следующим образом:
$ - переместить курсор на последний символ в строке;
0(ноль) - переместить курсор на первый символ в строке;
^ - переместить курсор на первый ненулевой символ в строке.

7.7.1.2. Поиск символа в строке

Третий способ позиционирования курсора в строке - это поиск указанного символа на текущей строке. Если символ не найден на текущей строке, то появляется звуковой сигнал и курсор остается на прежнем месте. Существуют команды, которые проводят поиск по шаблону. Они будут описаны далее. Здесь приведем 6 команд для поиска внутри строки: f, F, t, T, ;(двоеточие) и ,(запятая). После f, F, t и T вы можете указать символ: fx - осуществляет поиск указанного символа x справа от текущей позиции курсора;

Fx - осуществляет поиск указанного символа x слева от текущей позиции курсора;

tx - осуществляет перемещение курсора вправо на символ до указанного символа x;

Tx - осуществляет перемещение курсора влево на символ до указанного символа x;

; - повторяет предыдущий поиск символа. Команда ; запоминает символ и ищет следующее появление символа в текущей строке;

, - повторяет предыдущий поиск символа, но в обратном направлении. Команда ; запоминает символ и ищет следующее появление символа в текущей строке;

7.7.1.3. Команда перемещения: - (знак минус)

Команда - (минус) перемещает курсор на одну строку вверх, позиционируя его на первом ненулевом символе. Чтобы переместить курсор более чем на один символ, укажите пред знаком минус количество строк. Например, чтобы переместить курсор вверх на 13 строк, введите:

Если эти строки находятся выше отраженного экрана, то окно переместится так, чтобы открыть их. Этот способ помогает быстро перемещаться по файлу. Если выше окажется меньше 13-ти строк, то звуковой сигнал подскажет вам, что вы сделали ошибку и курсор останется в своем прежнем положении.

7.7.1.4. Команда перемещения + (знак плюс)

Команда + (плюс) или <CR> перемещает курсор вниз на одну строку и позиционирует на первый непустой символ. Перед командой + можно указать количество строк, на которое вы хотите переместить курсор. Например, чтобы переместить курсор на 9 строк вниз, введите:

Если некоторые строки расположены ниже текущего экрана, то окно переместится вниз, чтобы открыть их.

7.7.2. Позиционирование слов

Редактор vi предполагает, что слово - это строка символов, которая может включать в себя буквы, цифры и символы подчеркивания. В редакторе vi существует 6 команд позиционирования: w, b, e, W, B и E. Команды w, b, e рассматривают любой символ, отличный от буквы, цифры или подчеркивания, как разделитель, означающий начало или конец слова. Пунктуация до или после пустого пространства является разделителем слов. Символ начала или конца строки также является разделителем.

Команды W, B, E рассматривают пунктуатию как часть слова. Слова разделяются пустым пространством, которое состоит из символов пробел, табуляция и новая строка.

Команды позиционирования: w - перемещает курсор к началу следующего слова; nw - перемещает курсор к началу n-го слова; конец строки не останавливает движение курсора. Он продолжает подсчет слов с начала следующей строки; W - игнорирует все знаки пунктуации и перемещает курсор на следующее после пробела слово; e - перемещает курсор на последний символ в следующем слове; E - перемещает курсор на последний символ в слове. Игнорирует все символы пунктуации за исключением пробела. Слова разделяются пробелами; b - перемещает курсор к первому символу предыдущего слова; nb - перемещает курсор к первому символу n-го предыдущего слова. Команда b не останавливается в начале строки и продолжает движение к началу строки; B - используется подобно команде b, за исключением того, что слова разделяются только символами пробел и новая строка. Она рассматривает все другие символы пунктуации как буквы.

7.7.3. Позиционирование курсора на предложение

Редактор vi также распознает предложения. В редакторе vi предложение заканчивается знаками !, . или ?. Если эти разделители появляются в середине строки, то за ними должны стоять два пробела, чтобы vi их мог распознать.

Вы можете перемещать курсор от предложения к предложению в файле с помощью команд ( - открывающая скобка и ) - закрывающая скобка. ( - перемещает курсор в начало текущего предложения;

n( - перемещает курсор в начало n-го предложения выше текущего предложения;

) - перемещает курсор в начало следующего предложения;

n) - перемещает курсор в начало n-го предложения, следующего за текущим предложением.

7.7.4. Позиционирование курсора по параграфам

Параграфы распознаются редактором vi, если они начинаются после пустой строки. Если вы хотите перемещать курсор по параграфам, то при создании текста не забудьте в конце каждого параграфа поставить пустую строку. < - переместить курсор в начало текущего параграфа, который ограничивается пустой строкой;

> - переместить курсор в начало следующего параграфа;

n> - переместить курсор в начало n-го параграфа ниже текущей строки.

7.7.5. Позиционирование в окне

Редактор vi предоставляет вам 3 команды, которые позволяют вам позиционировать курсор в окне. Эти команды должны быть введены на верхнем регистре:
H - переместить курсор к первой строке экрана;
M - переместить курсор к средней строке экрана;
L - переместить курсор к последней строке экрана.

В табл. 9 приведены команды перемещения курсора для позиционирования его на символе, строке, предложении, параграфе или позиционирования на экране.

В моем случае, Terminal.app является одним из самых активно используемых приложений в операционной системе. И первое, что кажется неудобным, это реакция на привычные комбинации клавиш, касающиеся перемещения курсора. Поясню на примере графических приложений. Вам наверняка часто приходится работать с редактированием текста, и применять клавиатурные комбинации с использованием стрелок и системных клавиш, для того, что бы передвинуть курсор к началу слова или строки. Так вот вынужден вас разочаровать, но в терминале эти фокусы работать не будут. До тех пор, пока мы не сунемся туда с напильником. За дело.

На самом деле, я выразился не совсем корректно. Вышеописанные действия сделать возможно, но придется использовать несколько иные комбинации. Какие именно? В ответ на этот вопрос я сравнил сочетания клавиш выполняемые в графическом интерфейсе, с теми, что используются в терминале, и запечатлел результат в следующей таблице:

Действия GUI Terminal
Перенести курсор
к началу слова
Option ⌥ + Клавиша влево ← Esc ⎋ + B
Перенести курсор
к концу слова
Option ⌥ + Клавиша вправо →
Esc ⎋ + F
Перенести курсор
в конец текста
Option ⌥ + Клавиша вниз ↓ Control ⌃ + A или
Shift ⇧ + Home ↖
Перенести курсор
в начало текста
Option ⌥ + Клавиша вверх ↑ Control ⌃ + E или
Shift ⇧ + End ↘
Удалить слово
перед курсором
Option ⌥ + Backspace ⌫ Control ⌃ + W или
Option ⌥ + Backspace ⌫
Удалить слово
после курсора
Option ⌥ + Delete ⌦ Esc ⎋ + D

На данный момент моя цель привести все к какой-то одной схеме. Технически, гораздо проще просто настроить терминал, который, к слову, обладает довольно гибкими настройками. Нам нужно зайти в меню Settings, подменю Keyboard. Для тех у кого русская локализация, можете посмотреть скриншот ниже, что бы сориентироваться:


  1. Перенести курсор к началу слова.
    Key: cursor left
    Modifier: option
    Action: send string to shell
    В поле ввода нажмите «Esc ⎋ + B» или вставьте код «\033b»
  2. Перенести курсор к концу слова.
    Key: cursor right
    Modifier: option
    Action: send string to shell
    В поле ввода нажмите «Esc ⎋ + F» или вставьте код «\033f»
  3. Перенести курсор в начало текста.
    Key: cursor up
    Modifier: option
    Action: send string to shell
    В поле ввода нажмите «Control ⌃ + E» или вставьте код «\005»
  4. Перенести курсор в конец текста.
    Key: cursor down
    Modifier: option
    Action: send string to shell
    В поле ввода нажмите «Control ⌃ + A» или вставьте код «\001»
  5. Удалить слово после курсора.
    Key: forward delete
    Modifier: option
    Action: send string to shell
    В поле ввода нажмите «Esc ⎋ + D» или вставьте код «\033d»


В дополнение стоит упомянуть про дополнительные клавиатурные сочетания, доступные либо только в графических приложениях, либо только в терминале:

Действия GUI Terminal
Удалить строку Command ⌘ + Backspace ⇧
Удалить все слева от курсора Control ⌃ + U
Удалить все справа от курсора Control ⌃ + K

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

Ранее вы познакомились с тем, как перемещать курсор с помощью клавишей h, j, k, l , а также BACKSPACE и SPACEBAR . В этом подразделе приводятся еще несколько команд, которые помогут вам быстро перемещать курсор по экрану. Эти команды выполняются в командном режиме.

  • переместить курсор вправо или влево до нужного символа;
  • переместить курсор в начало или конец строки;
  • поиск символа на строке.

Переместить курсор на первый или последний символ в строке можно следующим образом: $ переместить курсор на последний символ в строке; 0(ноль) переместить курсор на первый символ в строке; ^ переместить курсор на первый ненулевой символ в строке.

Третий способ позиционирования курсора в строке - это поиск указанного символа на текущей строке. Если символ не найден на текущей строке, то появляется звуковой сигнал и курсор остается на прежнем месте. Существуют команды, которые проводят поиск по шаблону. Они будут описаны далее. Здесь приведем 6 команд для поиска внутри строки: f, F, t, T, : (двоеточие) и , (запятая). После f, F, t и T вы можете указать символ: fx осуществляет поиск указанного символа x справа от текущей позиции курсора; Fx осуществляет поиск указанного символа x слева от текущей позиции курсора; tx осуществляет перемещение курсора вправо на символ до указанного символа x ; Tx осуществляет перемещение курсора влево на символ до указанного символа x ; ; повторяет предыдущий поиск символа. Команда ; запоминает символ и ищет следующее появление символа в текущей строке; , повторяет предыдущий поиск символа, но в обратном направлении. Команда , запоминает символ и ищет следующее появление символа в текущей строке;

Команда - (минус) перемещает курсор на одну строку вверх, позиционируя его на первом ненулевом символе. Чтобы переместить курсор более чем на один символ, укажите пред знаком минус количество строк. Например, чтобы переместить курсор вверх на 13 строк, введите: Если эти строки находятся выше отраженного экрана, то окно переместится так, чтобы открыть их. Этот способ помогает быстро перемещаться по файлу. Если выше окажется меньше 13-ти строк, то звуковой сигнал подскажет вам, что вы сделали ошибку и курсор останется в своем прежнем положении.

Команда + (плюс) перемещает курсор вниз на одну строку и позиционирует на первый непустой символ. Перед командой + можно указать количество строк, на которое вы хотите переместить курсор. Например, чтобы переместить курсор на 9 строк вниз, введите:

Если некоторые строки расположены ниже текущего экрана, то окно переместится вниз, чтобы открыть их.

Редактор vi предполагает, что слово - это строка символов, которая может включать в себя буквы, цифры и символы подчеркивания. В редакторе vi существует 6 команд позиционирования: w, b, e, W, B и E . Команды w, b, e рассматривают любой символ, отличный от буквы, цифры или подчеркивания, как разделитель, означающий начало или конец слова. Пунктуация до или после пустого пространства является разделителем слов. Символ начала или конца строки также является разделителем.

Команды W, B, E рассматривают пунктуатию как часть слова. Слова разделяются пустым пространством, которое состоит из символов пробел, табуляция и новая строка.

Команды позиционирования: w перемещает курсор к началу следующего слова; nw перемещает курсор к началу n-го слова; конец строки не останавливает движение курсора. Он продолжает подсчет слов с начала следующей строки; W игнорирует все знаки пунктуации и перемещает курсор на следующее после пробела слово; e перемещает курсор на последний символ в следующем слове; E перемещает курсор на последний символ в слове. Игнорирует все символы пунктуации за исключением пробела. Слова разделяются пробелами; b перемещает курсор к первому символу предыдущего слова; nb перемещает курсор к первому символу n-го предыдущего слова. Команда b не останавливается в начале строки и продолжает движение к началу строки; B используется подобно команде b , за исключением того, что слова разделяются только символами пробел и новая строка. Она рассматривает все другие символы пунктуации как буквы.

Редактор vi также распознает предложения. В редакторе vi предложение заканчивается знаками !, . или ?. Если эти разделители появляются в середине строки, то за ними должны стоять два пробела, чтобы vi их мог распознать.

Вы можете перемещать курсор от предложения к предложению в файле с помощью команд ( - открывающая скобка и ) - закрывающая скобка. ( перемещает курсор в начало текущего предложения; n( перемещает курсор в начало n-го предложения выше текущего предложения; ) перемещает курсор в начало следующего предложения; n) перемещает курсор в начало n-го предложения, следующего за текущим предложением.

Параграфы распознаются редактором vi , если они начинаются после пустой строки. Если вы хотите перемещать курсор по параграфам, то при создании текста не забудьте в конце каждого параграфа поставить пустую строку. < переместить курсор в начало текущего параграфа, который ограничивается пустой строкой; n< переместить курсор в начало n-го параграфа, следующего за текущим параграфом; >переместить курсор в начало следующего параграфа; n> переместить курсор в начало n-го параграфа ниже текущей строки.

Редактор vi предоставляет вам 3 команды, которые позволяют вам позиционировать курсор в окне. Эти команды должны быть введены на верхнем регистре: H переместить курсор к первой строке экрана; M переместить курсор к средней строке экрана; L переместить курсор к последней строке экрана.


Next: Позиционирование курсора на неотображаемом Up: Экранный редактор vi Previous: Редактирование текста в командном Contents Index Alex Otwagin 2002-12-16

Читайте также: