Forums


  • Combien de fois, cela ne vous est pas arrivé :
    Vous visualisez un fichier (en ligne de commande) avec less et vous vous rendez compte que vous devez le modifier !

    Généralement, vous quittez less (q) et vous ré-ouvrez le fichier avec vi (ou vim) ...

    Savez vous que vous pouvez directement passer sous vi (ou un autre éditeur) en appuyant sur la touche "v" dans less ?
    Vous faites vos modifications, que vous sauvegardez, et quand vous quittez l'éditeur, vous retournez directement dans less !

    Pour changer l'éditeur, il suffit d'ouvrir le fichier .bashrc (ou .profile) qui est dans votre répertoire HOME et d'ajouter la commande suivante à la fin :
    export EDITOR="vim"
    (remplacez 'vim' par votre éditeur préféré)

    A signaler que par défaut, si rien n'est configurer, c'est 'vi' qui est ouvert par défaut

    have fun

    ericc me
     

  • pendant que j'y suis ... je viens de me rendre compte que sur ma machine Debian, le code n'était pas colorisé (syntax highlighting)

    Pour activé cette fonction, c'est pourtant assez simple :
    En étant root, éditez le fichier /etc/vim/vimrc (vi /etc/vim/vimrc)
    recherchez les lignes suivantes:
    " Vim5 and later versions support syntax highlighting. Uncommenting the next
    " line enables syntax highlighting by default.
    "syntax on
    mettez le curseur sur la dernière ligne ("syntax on), sur le guillemet et appuyez sur "x" pour le supprimer (le guillemet)

    sauvegardez (:x)

    c'est tout ...

    ericc me
     

  • Un peu plus compliqué : coloriser le code dans less

    Par défaut, less ne sait pas coloriser du texte, par contre il peux afficher des couleurs avec des codes (esc) (ou "raw" control characters.) avec l'option -r ou -R

    Donc il faut tout d'abord installer le programme "source-highlight".
    aptitude install source-highlight
    ou
    sudo aptitude install source-highlight
    sous Ubuntu (il va installer 2 ou 3 autres packages dépendants)
    Le but de "source-highlight" est (comme son nom l'indique) de coloriser un code source. Par défaut, il produit un fichier html avec le code source tout en couleur. Mais il peux aussi généré beaucoup d'autres formats
    $>source-highlight --outlang-list
    docbook = docbook.outlang
    esc = esc.outlang
    html = html.outlang
    html-css = htmlcss.outlang
    htmltable = htmltable.outlang
    javadoc = javadoc.outlang
    latex = latex.outlang
    latexcolor = latexcolor.outlang
    texinfo = texinfo.outlang
    xhtml = xhtml.outlang
    xhtml-css = xhtmlcss.outlang
    xhtmltable = xhtmltable.outlan
    et en particulier ce qui nous intéresse du esc ...

    Pour que cela fonctionne avec less, rien de plus simple car tout est prévu !!
    Dans votre .bashrc, vous ajoutez les deux lignes suivantes :
    export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"
    export LESS=' -R '
    et c'est tout !!

    Maintenant quand vous faites un less d'un fichier (bash, perl, python, php, ...), le fichier est envoyé à source-highlight qui reconnait le langage du code (une centaine de langages différents reconnus), le colorise et le renvoi à less qui l'affiche

    Un seul petit bémol, les couleurs utilisés ne sont pas exactement les mêmes que celles utilisés par vim dans l'astuce précédente .... mais bon, ce n'est pas trop gênant !

    Have fun

    ericc me
     


  • A signaler que par défaut, si rien n'est configurer, c'est 'vi' qui est ouvert par défaut

    ericc
    J'étais énervé parce que c'était ce qui était dit dans la documentation de less, mais que sur mes machines (Debian ou Ubuntu) par défaut c'est 'nano' qui s'ouvrait et je ne comprenais pas pourquoi !!

    Quand on commence à se familiarisé à 'vi', c'est chiant d'utiliser 'nano' que je trouve assez peu convivial ou pratique (ce n'est qu'un avis personnel!)

    Jusqu'à ce que je me souvienne que Debian (et ses dérivés) utilise une fonction "alternative".
    Quand vous avez plusieurs programmes qui font la même chose installés sur votre machine, vous pouvez choisir quel sera votre programme par défaut. et ensuite celui ci sera utilisé par tout le système.
    Par exemple, si vous avez plusieurs versions de gcc (le compilateur C) sur votre machine (sur la mienne gcc-4.4 gcc-4.5 gcc-4.6)


    Dans notre cas, l'alternatif utilise "editor"
    Si vous allez dans le répertoire "/etc/alternatives" et que vous faites un "ls -l" vous verrez que "editor" est un lien vers 'nano'
    NE CHANGEZ PAS CE LIEN MANUELLEMENT !!!!

    Pour manipuler ces alternatives, il y a une commande (qui est assez souvent utiliser quand vous mettez à jour des packages, si vous regardez ce que se passe dans la console) :
    update-alternatives

    Si vous tapez:
    $> update-alternatives --display editor
    vous aurez la liste des choix sur votre machine
    editor - auto mode
      link currently points to /bin/nano
    /bin/nano - priority 40
      slave editor.1.gz: /usr/share/man/man1/nano.1.gz
    /usr/bin/vim.basic - priority 30
      slave editor.1.gz: /usr/share/man/man1/vim.1.gz
      slave editor.fr.1.gz: /usr/share/man/fr/man1/vim.1.gz
      slave editor.it.1.gz: /usr/share/man/it/man1/vim.1.gz
      slave editor.pl.1.gz: /usr/share/man/pl/man1/vim.1.gz
      slave editor.ru.1.gz: /usr/share/man/ru/man1/vim.1.gz
    /usr/bin/vim.tiny - priority 10
      slave editor.1.gz: /usr/share/man/man1/vim.1.gz
      slave editor.fr.1.gz: /usr/share/man/fr/man1/vim.1.gz
      slave editor.it.1.gz: /usr/share/man/it/man1/vim.1.gz
      slave editor.pl.1.gz: /usr/share/man/pl/man1/vim.1.gz
      slave editor.ru.1.gz: /usr/share/man/ru/man1/vim.1.gz
    Current 'best' version is '/bin/nano'.
    Comme vous le voyez, je suis en mode "auto", c'est à dire que c'est la machine qui décide en fonction des priorités ... et comme 'nano' à la plus haute priorité, c'est lui qui est choisi par défaut

    Pour changer, facile !!
    vous devez être root (ou utiliser 'sudo' sous Ubuntu)
    $>update-alternatives --config editor
    There are 3 choices for the alternative editor (providing /usr/bin/editor).
    
      Selection    Path                Priority   Status
    ------------------------------------------------------------
    * 0            /bin/nano            40        auto mode
      1            /bin/nano            40        manual mode
      2            /usr/bin/vim.basic   30        manual mode
      3            /usr/bin/vim.tiny    10        manual mode
    
    Press enter to keep the current choice[*], or type selection number: 2
    update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in manual mode.
    et voila, c'est tout

    Maintenant, tout les programmes qui appellent un éditeur par défaut (comme less) appelleront 'vim'


    Have fun

    ericc me
     

Modérateur(s): ericc, toxxic, mich_belge