# Recompilar Nano com --enable-nanoorc [SOLVED]

## baldeante

Boas,

Por erro não compilei o nano com a opção --enable-nanoorc, preciso dela para ler os ficheiros de configuração no nano com as cores defenidas no ".nanoorc ".

Já procurei no forum mas em nenhum topico aparece o comando exacto só é mencionado que é necessario recompilar o nano com o parametro e que é necessario ter a versão 1.1.12 ou superior.

Qual destes comandos é o mais acertado para a recompilação do nano com --enable-nanoorc : 

```

USE="--enable-nanoorc" emerge nano

```

ou

```

emerge nano --enable-nanoorc

```

Estou em duvida porque não me parece que "--enable-nanoorc" seja um parametro do emerge (não me lembro do parametro na ajuda) e tambem não me parece que seja uma flag USE para ser sincero nem acho que seja nenhum dos comandos que apresento mas não me vem outra coisa a cabeça  :Shocked:   :Shocked:  .

----------

## fernandotcl

Essa opção deve ser do configure do nano, então passar pro emerge vai ser um pouco difícil. Apesar disso, como você compilou o nano sem opção? Afaik ela é padrão, à menos que você tenha executado o configure manualmente, ou se existe uma USE flag pra isso.

----------

## baldeante

 *fernandotcl wrote:*   

> Essa opção deve ser do configure do nano, então passar pro emerge vai ser um pouco difícil. Apesar disso, como você compilou o nano sem opção? Afaik ela é padrão, à menos que você tenha executado o configure manualmente, ou se existe uma USE flag pra isso.

 

Eu não configurei o nano intencionalmente sem a opção, tambem não sabia que a opção é assumida por defeito, assumi que a opção não era usado por defeito pois o nano foi instalado a quando da instalação do sistema e aparentemente a opção não está a funcionar   :Confused: 

Pelo que me estas a dizer o nano já esta com a opção activada, estou a correr neste momento todos os topicos de "Documentation, Tips & Tricks" para ver se aparece algum topico dedicado a este tema pois atraves da pesquisa não achei nada de especial ou pelo menos que me ajude.

Vamos ver se tenho sorte.

----------

## baldeante

Encontei agora mesmo um topico relativo ao que procuro :

https://forums.gentoo.org/viewtopic.php?t=86562

Tenho uma duvida no entanto vem referido que devo colocar o ".nanoorc" em "~/.nanorc".

Isto quer dizer "/etc/.nanoorc" , "$home/.nanoorc" ou outro sitio ???

No meu caso "$home/.nanoorc" é "/root/.nanoorc" e já la tenho o ficheiro se não me engano tambem tenho o ficheiro /etc/.nanoorc mas só quando chegar a casa é que posso ter a certeza.

----------

## pilla

~ em bash é expandido como o $HOME do usuario atual. Logo, se teu usuario eh o root, e o $HOME do root eh /root, logo ~ == /root

----------

## baldeante

 *pilla wrote:*   

> ~ em bash é expandido como o $HOME do usuario atual. Logo, se teu usuario eh o root, e o $HOME do root eh /root, logo ~ == /root

 

Obrigado.

Acho que ainda tenho de ler muitas paginas man, existem alguns "detalhes" que me escapão.

----------

## fernandotcl

Exatamente, ~ é $HOME. Eu tenho no meu ~/.nanorc:

```
set tabsize 4
```

----------

## baldeante

 *fernandotcl wrote:*   

> Exatamente, ~ é $HOME. Eu tenho no meu ~/.nanorc:
> 
> ```
> set tabsize 4
> ```
> ...

 

Estou habituado a tabs de 3  caracteres desde que programei em Pascal.

Por acaso não testei essa variavel se calhar só as cores é que ainda não estao bem configuradas, acho que vou dar uma vista de olhos pelo conjunto de sets e ver se algum esta operacional.

Se calhar é só mesmo as cores que não estão ok mas como não mudei nada e só deixei descomentados as linhas  que vinhão por defeito pode ser disso vou dar uma vista de olhos.

----------

## baldeante

Estou a usar as seguintes configurações no meu .nanorc

```

## Use this tab size instead of the default; it must be greater than 0

set tabsize 3

## Here is an example for your .nanorc

##

syntax "nanorc" "(\.|/|)nanorc$"

## highlight possible errors and parameters

color brightwhite "^ *(set|unset|syntax|color).*$"

## set, unset and syntax

color cyan "^ *(set|unset) +(autoindent|backup|const|cut|fill|historylog|multibuffer|noconvert|nofollow|nohelp|nowrap|operatingdir|preserve|quotestr|rebinddelete|regexp|smooth|speller|suspend|tabsize|tempfile|view)"

color green "^ *(set|unset|syntax)\>"

## colors

color yellow "^ *color +(bright)?(white|black|red|blue|green|yellow|magenta|cyan)(,(white|black|red|blue|green|yellow|magenta|cyan))?\>"

color magenta "^ *color\>" "\<(start|end)="

## strings

color white "\"(\\.|[^\"])*\""

## comments

color blue "^ *#.*$"

```

O tabsize funciona no entanto a configuração de cores não, não sei o que mais fazer o unico ficheiro onde as cores aparecem e no proprio .nanorc.

Se eu comentar a linha que define a sintax tenho um erro por cada linha de cor defenida indicando que falta a linha de sintax sempre que abro o nano, o que quer dizer que o ficheiro esta a ser lido (a configuração de cores) no entanto se eu criar um ficheiro com comentarios ou sets nada aparece com as cores defenidas so no proprio .nanorc.  :Confused:   :Confused: 

Que posso eu ter esquecido   :Idea:   :Idea:   :Idea: 

----------

## Mythos

Voces por acaso não estaram a falar do fichiero nanorc em:

```
/etc/nanorc
```

editei isso e tirei umas descomentei syntax e respectivas cores e funcionou.

não tive qualquer tipo de problema, aquilo já vem pré configurado ...

Tenho é um problema que já vem desde o inicio. Porque é que não me funcionam as teclas ao pé do numlock ???

----------

## fernandotcl

Pode tentar também copiar esse arquivo pra ~/.nanorc e descomentar as linhas necessárias, deve servir.

 *Mythos wrote:*   

> Tenho é um problema que já vem desde o inicio. Porque é que não me funcionam as teclas ao pé do numlock ???

 

Comigo funcionam, mas só se o numlock tiver ativado antes de iniciar o nano.

----------

## baldeante

E exactamente por já estar preconfigurado e não funcionar é que eu estou as voltas com o nanorc, ja tentei /etc/.nanorc, /etc/nanorc, ~/.nanorc e ~/nanorc em qualquer dos casos o TAB funciona e as cores não.   :Shocked:   :Shocked: 

----------

## Mythos

```
nano /etc/nanorc
```

descomenta as syntax e as respectivas cores, não te esqueças disso.

Funcionou tudo na perfeição, só tenho mesmo o problema das teclas ao lado do NumLock

----------

## baldeante

 *Mythos wrote:*   

> 
> 
> ```
> nano /etc/nanorc
> ```
> ...

 

Foi o que fiz, podes ver as configurações que descomentei num dos meus post anteriores.

Podes colocar um post com as tuas configurações ??? E que não vejo nada errado nas que eu coloquei.

----------

## Mythos

Quando chegar a casa depois do exame que vou ter, mando-te a minha conf.

----------

## Mythos

apagar este post vazio

----------

## Mythos

Epá esqueci-me completamente de te mandar a minha configuração, as minhas desculpas.

caso isso não funcione, acho que deverias considerar a hipotese dum unmerge ao nano, e voltar a emergir o nano

seguem em baixo:

## Sample initialization file for GNU nano

## Please note that you must have configured nano with --enable-nanorc

## for this file to be read!  Also note that characters specially

## interpreted by the shell should not be escaped here.

##

## To make sure a value is not enabled, use "unset <option>"

##

## For the options that take parameters, the default value is given.

## Other options are unset by default.

## Use auto-indentation

 set autoindent

## Backup files to filename~

# set backup

## The directory to put the backup files in.

# set backupdir ""

## Constantly display the cursor position in the status bar.

 set const

## Use cut to end of line with ^K by default

 set cut

## Set the line length for wrapping text and justifying paragraphs.

## If fill is negative, the line length will be the screen width less

## this number.

##

 set fill -8

## Enable ~/.nano_history for saving and reading search/replace strings.

# set historylog

## Allow multiple file buffers (using ^R inserts into separate buffer).

## You must have configured with --enable-multibuffer or --enable-extra

## for this to work.

##

## set multibuffer

## Don't convert files from DOS/Mac format

# set noconvert

## Don't follow symlinks when writing files

# set nofollow

## Don't display the help lists at the bottom of the screen

# set nohelp

## Don't wrap text at all

# set nowrap

## Set operating directory.  nano will not read or write files outside

## this directory and its subdirectories.  Also, the current directory

## is changed to here, so files are inserted from this dir.  A blank

## string means the operating directory feature is turned off.

##

# set operatingdir ""

## Preserve the XON and XOFF keys (^Q and ^S)

 set preserve

## The email-quote string, used to justify email-quoted paragraphs.

## This is an extended regular expression if your system supports them,

## otherwise a literal string.  Default:

 set quotestr "^([]*[\|>:}#])+"

## if you have regexps, otherwise:

 set quotestr "> "

## You can get old nano quoted-justify behavior via:

 set quotestr "(> )+"

## Fix Backspace/Delete confusion problem

 #set rebinddelete

## Do extended regular expression searches by default 

 set regexp

## Use smooth scrolling as the default

 set smooth

## Use this spelling checker instead of the internal one.  This option

## does not properly have a default value.

##

 set speller "aspell -c"

## Allow nano to be suspended with ^Z

 set suspend

## Use this tab size instead of the default; it must be greater than 0

 set tabsize 8

## Save automatically on exit, don't prompt

# set tempfile

## Disallow file modification, why would you want this in an rc file? ;)

# set view

## Color setup

## Format:

## syntax "short description" ["filename regex" ...]

## color foreground,background "regex" ["regex"...]

##

## Legal colors: white, black, red, blue, green, yellow, magenta, cyan.

## You may use the prefix "bright" to mean a stronger color highlight.

##

## To use multi-line regexes use the start="regex" end="regex" format.

##

## If your system supports transparency, not specifying a background

## color will use a transparent color.  If you don't want this, be sure

## to set the background color to black or white.

##

 syntax "c-file" "\.(c|h)$"

 color red "\<[A-Z_]{2,}\>" 

 color green "\<(float|char|int|void|static|const|struct)\>" 

 color brightyellow "\<(if|while|do|else|case|switch)\>"

 color brightcyan "^ *# *(define|include|ifn?def|endif|elif|else|if)" 

##

## You will in general want your comments and strings to come last,

## because syntax highlighting rules will be applied in the order they

## are read in.

##

 color brightyellow "<[^= ]*>" ""(\\.|[^\"])*""

##

## This string is VERY resource intensive!!!

# color brightyellow start=""(\\.|[^\"])*\\ *$" end="^(\\.|[^\"])*""

##

## And we want to have some nice comment highlighting too

 color brightblue "//.*"

 color brightblue start="/\*" end="\*/"

## Here is a short example for HTML

 syntax "HTML" "\.html$"

 color blue start="<" end=">"

 color red "&[^; ]*;"

## Here is a short example for TeX files

 syntax "TeX" "\.tex$"

 color green "\\.|\\[A-Za-z]*"

 color magenta "[{}]"

# color blue "%.*"

## Here is an example for quoted emails (under e.g. mutt)

 syntax "mutt"

 color green "^>.*"

## Here is an example for groff

##

 syntax "groff" "\.ms$" "\.mm$" "\.me$" "\.tmac$" "^tmac." ".rof"

## The argument of .nr or .ds

 color cyan "^\.ds [^ ]*"

 color cyan "^\.nr [^ ]*"

## Single character escapes

 color brightmagenta "\\."

## Highlight the argument of \f or \s in the same color

 color brightmagenta "\\f."

 color brightmagenta "\\f\(.."

 color brightmagenta "\\s(\+|\-)?[0-9]"

## \n

 color cyan "(\\|\\\\)n."

 color cyan "(\\|\\\\)n\(.."

 color cyan start="(\\|\\\\)n\[" end="]"

# Requests

 color brightgreen "^\. *[^ ]*"

## Comments

 color yellow "^\.\\\".*$"

## Strings

 color green "(\\|\\\\)\*."

 color green "(\\|\\\\)\*\(.."

 color green start="(\\|\\\\)\*\[" end="]"

## Characters

 color brightred "\\\(.."

 color brightred start="\\\[" end="]"

## Macro arguments

 color brightcyan "\\\\\$[1-9]"

## Here is an example for perl

##

 syntax "perl" "\.p[lm]$"

 color red "\<(accept|alarm|atan2|bin(d|mode)|c(aller|h(dir|mod|op|own|root)|lose(dir)?|onnect|os|rypt)|d(bm(close|open)|efined|elete|ie|o|ump)|e(ach|of|val|x(ec|ists|it|p))|f(cntl|ileno|lock|ork)|get(c|login|peername|pgrp|ppid|priority|pwnam|(host|net|proto|serv)byname|pwuid|grgid|(host|net)byaddr|protobynumber|servbyport)|([gs]et|end)(pw|gr|host|net|proto|serv)ent|getsock(name|opt)|gmtime|goto|grep|hex|index|int|ioctl|join|keys|kill|last|length|link|listen|local(time)?|log|lstat|m|mkdir|msg(ctl|get|snd|rcv)|next|oct|open(dir)?|ord|pack|pipe|pop|printf?|push|q|qq|qx|rand|re(ad(dir|link)?|cv|do|name|quire|set|turn|verse|winddir)|rindex|rmdir|s|scalar|seek|seekdir|se(lect|mctl|mget|mop|nd|tpgrp|tpriority|tsockopt)|shift|shm(ctl|get|read|write)|shutdown|sin|sleep|socket(pair)?|sort|spli(ce|t)|sprintf|sqrt|srand|stat|study|substr|symlink|sys(call|read|tem|write)|tell(dir)?|time|tr|y|truncate|umask|un(def|link|pack|shift)|utime|values|vec|wait(pid)?|wantarray|warn|write)\>"

 color magenta "\<(continue|else|elsif|do|for|foreach|if|unless|until|while|eq|ne|lt|gt|le|ge|cmp|x|my|sub|use|package|can|isa)\>"

 color cyan start="[$@%]" end="( |\\W|-)"

 color yellow "".*"|qq\|.*\|"

 color white "[sm]/.*/"

 color white start="(^use| = new)" end=";"

 color green "#.*"

 color yellow start="<< 'STOP'" end="STOP"

## Here is an example for Java source

##

 syntax "Java source" "\.java$"

 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 brightgreen,green " +$"

## Here is an example for your .nanorc

##

syntax "nanorc" "(\.|/|)nanorc$"

## highlight possible errors and parameters

color brightwhite "^ *(set|unset|syntax|color).*$"

## set, unset and syntax

color cyan "^ *(set|unset) +(autoindent|backup|const|cut|fill|historylog|multibuffer|noconvert|nofollow|nohelp|nowrap|operatingdir|preserve|quotestr|rebinddelete|regexp|smooth|speller|suspend|tabsize|tempfile|view)"

color green "^ *(set|unset|syntax)\>"

## colors

color yellow "^ *color +(bright)?(white|black|red|blue|green|yellow|magenta|cyan)(,(white|black|red|blue|green|yellow|magenta|cyan))?\>"

color magenta "^ *color\>" "\<(start|end)="

## strings

color white "\"(\\.|[^\"])*\""

## comments

color blue "^ *#.*$"

## Here is an example for ebuilds/eclasses

##

 syntax "ebuild" "\.e(build|class)$"

## All the standard portage functions

 color brightgreen "^src_(unpack|compile|install)" "^pkg_(config|nofetch|setup|(pre|post)(inst|rm))"

## Highlight bash related syntax

 color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while)\>"

 color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"

 color green "-(e|d|f|r|g|u|w|x|L)\>"

 color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"

## Highlight variables ... official portage ones in red, all others in bright red

 color brightred "\$\{?[a-zA-Z_0-9]+\}?"

 color red "\<(ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|FILESDIR|WORKDIR|(P|R)?DEPEND|PROVIDE|DISTDIR|RESTRICT)\>"

# color red "\<(S|D|T|PV|PF|P|PN|A)\>" "\<C(XX)?FLAGS\>"

## Highlight portage commands

 color magenta "\<use(_(with|enable))?\> [a-z0-9X ]*" "inherit.*"

 color brightblue "e(begin|end|conf|install|make|warn|infon?|error|patch)"

 color brightblue "\<die\>" "\<use(_(with|enable))?\>" "\<inherit\>" "\<has\>" "\<(has|best)_version\>" "\<unpack\>"

 color brightblue "\<(do|new)(ins|s?bin|doc|lib(|\.so|\.a)|man|info|exe)\>"

 color brightblue "\<do(python|sed|dir|hard|sym|html|jar|mo)\>" "\<keepdir\>" 

 color brightblue "prepall(|docs|info|man|strip)" "prep(info|lib|lib\.so|man|strip)"

 color brightblue "\<(|doc|ins|exe)into\>" "\<f(owners|perms)\>" "\<(exe|ins|dir)opts\>"

## Highlight common commands used in ebuilds

 color blue "\<make\>" "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|let|ln|mkdir|mv|rm|sed|set|tar|touch|unset)\>"

# Highlight comments (doesnt work that well)

 color yellow "#.*$"

## Highlight strings (doesnt work that well)

 color brightyellow ""(\\.|[^\"])*"" "'(\\.|[^'])*'"

## manpages

#

 syntax "manpage" "\.[1-9]$"

 color green "\.(S|T)H.*$"

 color brightgreen "\.(S|T)H" "\.TP"

 color brightred "\.(BR?|IP?).*$"

 color brightblue "\.(BR?|IP?|PP)"

 color brightwhite start="\\fI" end="\\fR"

 color brightwhite start="\\fB" end="\\fR"

 color yellow "\.(br|DS|RS|RE|PD)"

## Here is an example for patch files

##

 syntax "patch" "\.(patch|diff)$"

 color brightgreen "^\+.*"

 color green "^\+\+\+.*"

 color brightblue "^ .*"

 color brightred "^-.*"

 color red "^---.*"

 color brightyellow "^@@.*"

 color magenta "^diff.*"

## Here is an example for shell scripts

##

 syntax "shellscript" "\.sh$"

 color brightgreen "^[a-zA-Z_0-9]+\(\)"

 color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while)\>"

 color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"

 color green "-(e|d|f|r|g|u|w|x|L)\>"

 color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"

 color brightblue "\<make\>" "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|install|let|ln|mkdir|mv|rm|sed|set|tar|touch|umask|unset)\>"

 color brightred "\$\{?[a-zA-Z_0-9]+\}?"

 color yellow "#.*$"

 color brightyellow ""(\\.|[^\"])*"" "'(\\.|[^'])*'"

----------

## baldeante

Obrigado, vou comparar o meu nanorc com o teu.

----------

