HTML Diff
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" &gt;&gt; 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" &gt;&gt; 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>