|

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 представлено ниже.
Стоит обратить внимание на указание символов сочетания клавиш в нижнем меню окна программы и в окне справки.
Например: ^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 выполняет подсветку синтаксиса. Пример ниже:
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
|
Теги:
|