0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p><strong>Чем больше программист работает в командной строке, тем сложнее ему ориентироваться в тексте и командах. Мы перевели<a>статью</a>разработчика Дейва Керра и узнали, как с помощью сочетаний клавиш (шорткатов) упростить навигацию и поиск в командной строке.</strong></p>
1
<p><strong>Чем больше программист работает в командной строке, тем сложнее ему ориентироваться в тексте и командах. Мы перевели<a>статью</a>разработчика Дейва Керра и узнали, как с помощью сочетаний клавиш (шорткатов) упростить навигацию и поиск в командной строке.</strong></p>
2
<blockquote><p>Вы читаете обновленную и улучшенную версию нашей старой статьи</p>
2
<blockquote><p>Вы читаете обновленную и улучшенную версию нашей старой статьи</p>
3
</blockquote><h2>Содержание</h2>
3
</blockquote><h2>Содержание</h2>
4
<ul><li><a>Навигация в командной строке</a></li>
4
<ul><li><a>Навигация в командной строке</a></li>
5
<li><a>Поиск в командной строке</a></li>
5
<li><a>Поиск в командной строке</a></li>
6
<li><a>Редактирование в командной строке</a></li>
6
<li><a>Редактирование в командной строке</a></li>
7
<li><a>Очистка экрана в командной строке</a></li>
7
<li><a>Очистка экрана в командной строке</a></li>
8
<li><a>Транспонирование</a></li>
8
<li><a>Транспонирование</a></li>
9
<li><a>Библиотека для управления командной строкой в интерпретаторах</a></li>
9
<li><a>Библиотека для управления командной строкой в интерпретаторах</a></li>
10
<li><a>Итог</a></li>
10
<li><a>Итог</a></li>
11
</ul><h2>Навигация в командной строке</h2>
11
</ul><h2>Навигация в командной строке</h2>
12
<p>Предположим, что разработчик составляет простую команду, которая будет записывать цитату в текстовый файл:</p>
12
<p>Предположим, что разработчик составляет простую команду, которая будет записывать цитату в текстовый файл:</p>
13
<p>echo "The trouble with writing fiction is that it has to make sense, whereas real life doesn't. -- Iain M. Banks" >> quote.txt</p>
13
<p>echo "The trouble with writing fiction is that it has to make sense, whereas real life doesn't. -- Iain M. Banks" >> quote.txt</p>
14
<p>Между длинными блоками текста разработчик может перемещаться стрелками. Но это долго и неудобно. Есть более простой способ навигации - шорткаты:</p>
14
<p>Между длинными блоками текста разработчик может перемещаться стрелками. Но это долго и неудобно. Есть более простой способ навигации - шорткаты:</p>
15
<ul><li>В начало или в конец: Ctrl + a, Ctrl + e</li>
15
<ul><li>В начало или в конец: Ctrl + a, Ctrl + e</li>
16
<li>Назад или вперед по словам: Alt + b, Alt + f</li>
16
<li>Назад или вперед по словам: Alt + b, Alt + f</li>
17
<li>Удалить слово или отменить действие: Ctrl + w, Ctrl + -</li>
17
<li>Удалить слово или отменить действие: Ctrl + w, Ctrl + -</li>
18
<li>Удалить следующее слово: Alt + d</li>
18
<li>Удалить следующее слово: Alt + d</li>
19
<li>Удалить все до начала: Ctrl + u</li>
19
<li>Удалить все до начала: Ctrl + u</li>
20
<li>Удалить все до конца: Ctrl + k</li>
20
<li>Удалить все до конца: Ctrl + k</li>
21
</ul><h2>Поиск в командной строке</h2>
21
</ul><h2>Поиск в командной строке</h2>
22
<p>Как только разработчик разбирается с базовой навигацией, ему важно освоить инструменты поиска.</p>
22
<p>Как только разработчик разбирается с базовой навигацией, ему важно освоить инструменты поиска.</p>
23
<p>Допустим, разработчик запускает три следующие команды:</p>
23
<p>Допустим, разработчик запускает три следующие команды:</p>
24
<p>$ command1 param1 param2 param3 $ command2 param4 param5 param6 $ command3 param7 param8 param9</p>
24
<p>$ command1 param1 param2 param3 $ command2 param4 param5 param6 $ command3 param7 param8 param9</p>
25
<p>Он может выполнять поиск вперед или назад с помощью Ctrl + r и Ctrl + s. Поиск будет вестись по текущей команде, а затем итеративно по предыдущим:</p>
25
<p>Он может выполнять поиск вперед или назад с помощью Ctrl + r и Ctrl + s. Поиск будет вестись по текущей команде, а затем итеративно по предыдущим:</p>
26
<p>Также шорткаты можно использовать для поиска по истории команд вперед и назад:</p>
26
<p>Также шорткаты можно использовать для поиска по истории команд вперед и назад:</p>
27
<p>Когда разработчик вводит текст, поиск проверяет историю его команд и выводит самые последние в начале. Вот те же самые команды, примененные к исходному примеру:</p>
27
<p>Когда разработчик вводит текст, поиск проверяет историю его команд и выводит самые последние в начале. Вот те же самые команды, примененные к исходному примеру:</p>
28
<ul><li>Искать назад или вперед: Ctrl + r, Ctrl + s</li>
28
<ul><li>Искать назад или вперед: Ctrl + r, Ctrl + s</li>
29
<li>Выполнить команду: Enter</li>
29
<li>Выполнить команду: Enter</li>
30
<li>Редактировать команду: ← или →</li>
30
<li>Редактировать команду: ← или →</li>
31
<li>Остановить поиск: Ctrl + g</li>
31
<li>Остановить поиск: Ctrl + g</li>
32
</ul><blockquote><h3>Читайте также:</h3>
32
</ul><blockquote><h3>Читайте также:</h3>
33
<p>Как читать чужой код: 6 правил, которые<a>стоит помнить разработчику</a></p>
33
<p>Как читать чужой код: 6 правил, которые<a>стоит помнить разработчику</a></p>
34
</blockquote><h2>Редактирование в командной строке</h2>
34
</blockquote><h2>Редактирование в командной строке</h2>
35
<p>Обрабатывать очень длинную и сложную команду можно в редакторе кода. Но, опять же, переключаться между редактором и командной строкой не очень удобно.</p>
35
<p>Обрабатывать очень длинную и сложную команду можно в редакторе кода. Но, опять же, переключаться между редактором и командной строкой не очень удобно.</p>
36
<p>Вот шорткат, который позволит редактировать команду прямо в командной строке: Ctrl + x , Ctrl + e</p>
36
<p>Вот шорткат, который позволит редактировать команду прямо в командной строке: Ctrl + x , Ctrl + e</p>
37
<h2>Очистка экрана в командной строке</h2>
37
<h2>Очистка экрана в командной строке</h2>
38
<p>Шорткат Ctrl + l очищает экран, не удаляя текущую команду. Это выглядит так:</p>
38
<p>Шорткат Ctrl + l очищает экран, не удаляя текущую команду. Это выглядит так:</p>
39
<h2>Транспонирование</h2>
39
<h2>Транспонирование</h2>
40
<p>Транспонирование в командной строке меняет местами последние два слова в команде. Можно, конечно, их стереть и заново набрать, но на это уйдет больше времени, чем на использование сочетания клавиш.</p>
40
<p>Транспонирование в командной строке меняет местами последние два слова в команде. Можно, конечно, их стереть и заново набрать, но на это уйдет больше времени, чем на использование сочетания клавиш.</p>
41
<p>Вызвать транспонирование можно с помощью шортката Alt + t. А сочетание клавиш Ctrl + t поменяет местами последние две буквы:</p>
41
<p>Вызвать транспонирование можно с помощью шортката Alt + t. А сочетание клавиш Ctrl + t поменяет местами последние две буквы:</p>
42
<blockquote><h3>Также полезно:</h3>
42
<blockquote><h3>Также полезно:</h3>
43
<p><a>Зачем нужна команда pwd</a>и что такое текущая рабочая директория</p>
43
<p><a>Зачем нужна команда pwd</a>и что такое текущая рабочая директория</p>
44
</blockquote><h2>Библиотека для управления командной строкой в интерпретаторах</h2>
44
</blockquote><h2>Библиотека для управления командной строкой в интерпретаторах</h2>
45
<p>Чтобы вывести свою работу в командной строке на новый уровень, стоит изучить библиотеку GNU Readline. С ее помощью можно настроить все низкоуровневые детали работы любых интерпретаторов, которые используют Readline. Для этого есть конфигурационный файл<a>.inputrc</a>.</p>
45
<p>Чтобы вывести свою работу в командной строке на новый уровень, стоит изучить библиотеку GNU Readline. С ее помощью можно настроить все низкоуровневые детали работы любых интерпретаторов, которые используют Readline. Для этого есть конфигурационный файл<a>.inputrc</a>.</p>
46
<p>Шорткаты GNE Readline работают в любой командной строке, которая использует эту библиотеку. То есть все, о чем мы писали выше, применяется к:</p>
46
<p>Шорткаты GNE Readline работают в любой командной строке, которая использует эту библиотеку. То есть все, о чем мы писали выше, применяется к:</p>
47
<ol><li>Bash</li>
47
<ol><li>Bash</li>
48
<li>zsh</li>
48
<li>zsh</li>
49
<li>Python REPL</li>
49
<li>Python REPL</li>
50
<li>Node.js REPL</li>
50
<li>Node.js REPL</li>
51
</ol><p>На сайте<a>Readline</a>есть отличная шпаргалка по командам - рекомендуем ее изучить.</p>
51
</ol><p>На сайте<a>Readline</a>есть отличная шпаргалка по командам - рекомендуем ее изучить.</p>
52
<p>Советуем также посмотреть наше видео о работе в командной строке. Возможно, вы откроете для себя что-то новое.</p>
52
<p>Советуем также посмотреть наше видео о работе в командной строке. Возможно, вы откроете для себя что-то новое.</p>
53
<h2>Итог</h2>
53
<h2>Итог</h2>
54
<p>Мы рассказали о нескольких классных шорткатах, которые упрощают работу с командной строкой. Вот небольшой схематический конспект статьи:</p>
54
<p>Мы рассказали о нескольких классных шорткатах, которые упрощают работу с командной строкой. Вот небольшой схематический конспект статьи:</p>
55
<blockquote><h3>Изучите основы командной строки бесплатно!</h3>
55
<blockquote><h3>Изучите основы командной строки бесплатно!</h3>
56
<p>На Хекслете есть<a>бесплатный курс по основам командной строки</a>. Пройдите его, чтобы подробнее узнать о командах linux, навигации и поиске, а также научиться манипулировать файловой системой как профи.</p>
56
<p>На Хекслете есть<a>бесплатный курс по основам командной строки</a>. Пройдите его, чтобы подробнее узнать о командах linux, навигации и поиске, а также научиться манипулировать файловой системой как профи.</p>
57
</blockquote>
57
</blockquote>