Есть ли способ указать nano автоматически отображать нумерацию строк каждый раз, когда я открываю файл?
Комбинация клавиш для отображения текущего номера строки во время использования nano - это CTRL+C.
В качестве альтернативы, для отображения позиции номера строки и столбца вы можете просто использовать -c
параметр при запуске nano, т.е.:
nano -c [filename]
Чтобы сделать это постоянным, nano
использует конфигурацию в вашей домашней папке ~/.nanorc
Таким образом, чтобы всегда отображать номера строк при использовании nano...
nano ~/.nanorc
(не волнуйтесь, если он пуст - этот файл по умолчанию не существует)
тип set constantshow
N.B. устаревший синтаксис set const
показано в анимации
Сохранить
Поскольку вы используете номера строк, помните, что вы можете использовать ALT+G чтобы перейти к определенному номеру строки.
Случайно нашел хороший короткий путь: Alt+#, что в некоторых раскладках клавиатуры можно сделать с помощью Alt+Shift+3.
Согласно справочной странице GNU nano 2.9.3 (также проверенной в версии 4.8), у вас есть два варианта автоматического открытия с отображением номеров строк и один для их включения / выключения после открытия nano:
Флаги командной строки
Вы можете использовать -l
или --linenumbers
флаги.
- я, -- яв числах Отобразите номера строк слева от текстовой области.
напр.nano -l foo.txt
nano --linenumbers foo.txt
Через конфигурационный файл(ы)
В качестве альтернативы, согласно справочной странице nanorc, вы можете добавить set linenumbers
в ~/.nanorc
, $XDG_CONFIG_HOME/nano/nanorc
или ~/.config/nano/nanorc
.
инициализация файл нано прочитает два файла конфигурации: сначала системный nanorc (если он существует), а затем пользовательский nanorc (если он существует), либо ~/.nanorc или $XDG_CONFIG_HOME/нано/нанорк или ~/.конфигурация/нано/нанорк, в зависимости от того, что встретится первым. Видеть нанорк(5) для получения дополнительной информации о возможном содержимом этих файлов.
набор номера строк Отобразите номера строк слева от текстовой области.
Таким образом, содержимое моего файла ~/.nanorc просто:
1 комплект номера строк 2
С помощью привязки клавиш
Не совсем то, о чем просил OP, но для полноты картины вы также можете включать / выключать номер строки с помощью привязки клавиш по умолчанию (начиная с версии 4.8) Alt+N
.
В качестве альтернативы вы можете повторно привязать этот ключ с помощью упомянутого метода man file:
ПОВТОРНАЯ ПРИВЯЗКА ключи Привязки клавиш можно изменить с помощью следующих трех команд: связывать меню ключевых функций Повторно привязывает заданную клавишу к заданной функции в данном меню (или во всех меню, где функция существует, когда все используется).
Формат ключа должен быть одним из: ^X, где X - латинская буква или один из нескольких символов ASCII (@, ], \, ^, _), или слово "Космос". Пример: ^C. M-X, где X - любой символ ASCII, кроме [, или слова "Пробел". Пример: М-8. Ш-М-X, где X - латинская буква. Пример: Sh-M-U. По умолчанию каждое нажатие клавиши Meta+letter выполняет то же самое, что и соответствующее нажатие Shift+Meta+letter. Но когда будет произведена любая привязка Shift + Meta, это больше не будет иметь место для всех букв. FN, где N - числовое значение от 1 до 24. Пример: F10. (Часто, F13 к F24 может быть набран как F1 к F12 со сдвигом.) В это или Из. Повторная привязка ^М (Ввод) или ^Я (Вкладка), вероятно, не очень хорошая идея. На некоторых терминалах невозможно выполнить повторную привязку ^Ч (если только -- сырой используется), потому что его код ключа идентичен коду клавиши Backspace. Допустимыми именами функций, которые должны быть привязаны, являются:...линиячисла Переключает отображение номеров строк перед текстом.
Что касается альтернативных конфигурационных файлов:
В ответ на комментарии по поводу альтернативных конфигурационных файлов, из описания man nanorc
:
Во время запуска, нано сначала прочитает общесистемные настройки, начиная с /и т.д./nanorc (точный путь может отличаться в вашей системе), а затем настройки, зависящие от конкретного пользователя, либо из ~/.nanorc или из $XDG_CON‐ FIG_HOME/нано/нанорк или от ~/.config/nano/nanorc, в зависимости от того, что встретится первым.
Обычно я бы не советовал другим изменять общесистемный конфигурационный файл, если у вас нет для этого веских причин, поскольку он, скорее всего, будет перезаписан во время любых обновлений и вряд ли будет включен в системные резервные копии, которые обычно включают только домашний каталог.
Использование с sudo
Как отметил один из комментаторов, это может сработать не так, как ожидалось, если вам придется использовать sudo с nano, например sudo nano myFile
. Это потому, что когда вы используете sudo, вы делаете все, что приходит после sudo
как "суперпользователь", отсюда и название (суперпользователь do..). Если вы отредактировали свой конфигурационный файл, не являющийся суперпользователем (например ~/.nanorc
или /home/myUserName/.nanorc
) это не будет запущено, когда вы используете sudo, так как вы не используете nano как myUserName
больше. Таким образом, у вас есть несколько вариантов.
- Самое простое - это просто использовать
-l
установите флажок, и он будет работать как есть. - Скопируйте содержимое вашего
~/.nanorc
к/root/.nanorc
поскольку это представляет собой домашний каталог для суперпользователя. Предполагая, что у вас есть свой./nanorc
настройка файла так, как вам нравится, и у вас еще нет/root/.nanorc
файл, то вы можете просто запуститьsudo cp /home/myUserName/.nanorc /root/
. Обратите внимание, что это приведет к перезаписи любого существующего файла nanorc в/root
и вы должны заменить myUserName своим фактическим именем пользователя. Я не тестировал, но я бы предположил, что вы не можете использовать оператор тильды, то есть `sudo cp ~ /.nanorc / root/as it would likely interperet this to be
/ root`, а не ваше имя пользователя, как опять же, вы говорите ему "суперпользователь делает cp из домашнего каталога".
Скомпилировать Nano из исходного кода:
git clone git://git.savannah.gnu.org/nano.git;cd nano;./autogen.sh;./configure;sudo make install
Затем добавьте следующее в свой .nanorc
файл:
set linenumbers
Вы можете использовать Meta+# чтобы включать и выключать номера строк внутри Nano.
Если nano -c filename
не работает, используйте nano filename
затем Ctrl +_. Он запросит у вас номер строки для перехода.
Если вы уже открыли файл с помощью nano, вы нажимаете
Ctrl+w+t
(не одновременно, нажмите control и w, затем, не отпуская control и не отпуская w, нажмите t)
Для этой команды потребуются столбец и строка, вы вводите их таким образом:
10,23 (enter)
и вы окажетесь в строке 10 с символом 23.
Если вы находитесь в верхней части файла и хотите найти только строку:
Ctrl+w+t and then 10
Если вы находитесь в определенной строке и хотите найти столбец:
Ctrl+w+t and then ,23
Если вы еще не открыли файл, вы можете сделать это:
nano +10,23 file (enter)
и файл откроется с курсором в строке 10, chanracter 23, так что вы можете попробовать также:
nano +10 file (enter)
nano +,23 file (enter)
(Обратите внимание, что это приведет вас только к символу 23 первой строки)
Сейчас 2021 год. Вопрос OP по-прежнему актуален, но многие из приведенных здесь ответов относятся к более старой версии nano
. Я не представляю этот ответ как "последнее слово"; - только в качестве обновления.
Экран nano по умолчанию состоит из пяти областей. Сверху вниз это: строка заголовка, пустая строка, окно редактирования, строка состояния и две строки справки.
Где отображать номера строк?
Номера строк могут отображаться в одном из двух мест:
- окно редактирования
- строка состояния
Отображение строки состояния просто обновляет номер строки (и столбца) курсора / точки вставки по мере ее перемещения в окне редактирования. Номера строк в окне редактирования расположены на левом поле. Номер строки можно отобразить как в окне редактирования, так и в строке состояния.
Отображение номеров строк в окне редактирования:
Существует несколько методов (это не обязательно полный список):
-
Перед открытием файла:
Отредактируйте/создайте файл
~/.nanorc
со следующей строкой:set linenumbers
-
Когда файл будет открыт:
Используйте
-l
вариант вnano
:$ nano -l <myfilename>
-
После открытия файла:
Переключать номера строк "вкл." и "выкл." w/
alt-shift-#
:altshift#
Отображение номеров строк в строке состояния
-
Перед открытием файла:
Отредактируйте/создайте файл
~/.nanorc
со следующей строкой:set constantshow
-
Когда файл будет открыт:
Используйте
-c
вариант вnano
:$ nano -c <myfilename>
-
После открытия файла:
Переключать отображение номера строки в строке состояния "включено" и "выключено" w/
alt-shift-C
:altshiftC
Резюме
Все это работает на сегодняшний день: Ubuntu 20.04, nano --version
= GNU nano, версия 4.8, хотя есть незначительные расхождения в документация.
“set linenumbers” в nanorc делает свое дело
CTRL + 3, затем SHIFT + 3 покажет номера строк
CTRL +3, затем SHIFT +3 скроют номера строк
Начиная с версии nano 2.7.1, вы можете открыть файл с флагом -l
(--linenumbers
), чтобы отобразить номера строк рядом с текстом.
ALT
+ SHIFT
+ #
будет работать в ubuntu