GNU nano

nano - один из лучших консольных текстовых редакторов для Linux и Unix - подобных операционных систем с возможностью подсветки синтаксиса.

nano - основан на библиотеке ncurses и распространяемый под лицензией GNU GPL.

nano - включен в дистрибутивы Ubuntu по умолчанию и не нуждается в установке .

Особенности программы:

  • поддержка русского языка, включая русскоязычную справку
  • удобная, настраиваемая подсветка синтаксиса
  • простой и понятный интерфейс

Использование редактора

Чтобы воспользоваться текстовым редактором nano для для внесения изменений в файл, необходимо в консоли терминала выполнить команду:

nano filename

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

sudo nano filename

Если файла не существует, то nano открывает пустое (черное) окно редактора и при внесении изменений в этом окне будет создан новый файл.

Для того, чтобы увидеть справку по использованию редактора nano, необходимо в окне редактора нажать сочетание клавиш Ctrl+G.

Рабочее окно программы GNU nano 2.2.6 на русском языке с открытой справкой в терминале Ubuntu 12.04 LTS  представлено ниже.

GNU nano Help (Справка)

Стоит обратить внимание на указание символов сочетания клавиш в нижнем меню окна программы и в окне справки.

Например: ^G - обозначает указанное выше сочетание Ctrl+G.

Соответственно

^O - обозначает сочетание клавиш Ctrl+O, для записи изменений в файл;

^X - обозначает сочетание клавиш Ctrl+X, для выхода из редактора nano.

Подсветка синтаксиса

Подсветка синтаксиста в операционной системе Ubuntu для редактора nano включена по умолчанию и требует лишь дополнительной настройки.

В случае отсутствия необходимой подсветки, необходимо:

1. найти файл конфигурации .nanorc и скопировать в текущий каталог пользователя. В Ubuntu файл может быть расположен либо в каталоге /etc/, либо в каталоге /usr/share/nano/

В первом случае копируем файл в рабочий каталог командой:

1
cp /etc/nanorc ~/.nanorc

Во втором случае командой:

1
cp /usr/share/nano/nanorc.nanorc ~/.nanorc

2. проверить наличие в файле ~/.nanorc путей  к файлам конфигурации подсветки синтаксиса для определенных типов файлов. Пример файла .nanorc представлен ниже:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
## TeX
include "/usr/share/nano/patch.nanorc"
## POV-Ray
include "/usr/share/nano/pov.nanorc"
## Perl
include "/usr/share/nano/perl.nanorc"
## Nanorc files
include "/usr/share/nano/nanorc.nanorc"
## Python
include "/usr/share/nano/python.nanorc"
## C/C++
include "/usr/share/nano/c.nanorc"
## Groff
include "/usr/share/nano/groff.nanorc"
## Assembler
include "/usr/share/nano/asm.nanorc"
## Ruby
include "/usr/share/nano/ruby.nanorc"
## Manpages
include "/usr/share/nano/man.nanorc"
## HTML
include "/usr/share/nano/html.nanorc"
## Bourne shell scripts
include "/usr/share/nano/sh.nanorc"
## Sun Java
include "/usr/share/nano/java.nanorc"

Кстати даже при открытии фала конфигурации .nanorc  редактор nano выполняет подсветку синтаксиса. Пример ниже:

GNU nano editor (подсветка синтаксиса)

3. В случае если для определённых файлов не отрабатывает подсветка синтаксиса, но при этом имеется шаблон подсветки, необходимо выполнить корректировку соответствующего файла.

Например у меня не работает подсветка синтаксиса для Java файлов в формате *.js. Для того, чтобы восполнить это недоразумение я выполняю команду:

1
nano /usr/share/nano/java.nanorc

И в добавляю параметр “.js$” в конец строки syntax, пример ниже:

1
2
3
4
5
6
7
8
9
10
11
12
## Here is an example for Java.
##
syntax "java" ".java$" ".js$"
color green "<(boolean|byte|char|double|float|int|long|new|short|this|transient|void)>"
color red "<(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)>"
color cyan "<(abstract|class|extends|final|implements|import|instanceof|interface|native|package|private|protected|public|static|strictfp|super|synchronized|throws|volatile)>"
color red ""[^"]*""
color yellow "<(true|false|null)>"
color blue "//.*"
color blue start="/*" end="*/"
color brightblue start="/**" end="*/"
color ,green "[[:space:]]+$"

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


Дополнение

В дополнение приведу пример созданного с ноля файла конфигурации подсветки, найденного на просторах интернета:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# config file highlighting
 
syntax "conf" "(.(conf|config|cfg|cnf|rc|lst|list|defs|ini|desktop|mime|types|preset|cache|seat|service|htaccess)$|(^|/)(w*crontab|mirrorlist|group|hosts|passwd|rpc|netconfig|shadow|fstab|inittab|inputrc|protocols|sudoers)$|conf.d/|.config/)"
 
# default text
color magenta "^.*$"
# special values
icolor brightblue "(^|s|=)(default|true|false|on|off|yes|no)(s|$)"
# keys
icolor cyan "^s*(sets+)?[A-Z0-9_/.%@+-]+s*([:]|>)"
# commands
color blue "^s*sets+<"
# punctuation
color blue "[.]"
# numbers
color red "(^|s|[[/:|<>(){}=,]|])[-+]?[0-9](.?[0-9])*%?($|>)"
# keys
icolor cyan "^s*($if )?([A-Z0-9_/.%@+-]|s)+="
# punctuation
color blue "/"
color brightwhite "(]|[()<>[{},;:=])"
color brightwhite "(^|[|{|:)s*-(s|$)"
# section headings
icolor brightyellow "^s*([([A-Z0-9_.-]|s)+])+s*$"
color brightcyan "^s*((Sub)?Sections*(=|>)|End(Sub)?Sections*$)"
color brightcyan "^s*$(end)?if(s|$)"
# URLs
icolor green "b(([A-Z]+://|www[.])[A-Z0-9/:#?&$=_.-]+)(b|$| )"
# XML-like tags
icolor brightcyan "</?w+((s*w+s*=)?s*("[^"]*"|'[^']*'|!?[A-Z0-9_:/]))*(s*/)?>"
# strings
color yellow ""(.|[^"])*"" "'(.|[^'])*'"
# comments
color white "#.*$"
color blue "^s*##.*$"
color white "^;.*$"
color white start="<!--" end="-->"

Для подключения нового файла конфигурации подсветки синтаксиса необходимо добавить ссылку на него или в файл /etc/nanorc или в ~/.nanorc, в виде следующих строчек кода:

1
2
## Configuration files (catch-all syntax)
include "/usr/share/nano/conf.nanorc"

25th Июн 2016
Теги:
Загрузка Все права защищены © 2016 ИТ-Инженер (Краснодар)
 
把手拿回