web-dev-qa-db-fra.com

Quel éditeur puis-je utiliser comme alternative simple à vi / vim?

Je suis un utilisateur Windows qui utilise Ubuntu's Bash grâce à WSL . Maintenant, j'ai besoin de modifier certains fichiers et je déteste vraiment Vi. Dois-je simplement m'en occuper ou existe-t-il une alternative plus simple?

Les fonctionnalités que je recherche sont:

  • Basé sur la CLI
  • facile à utiliser (la saisie et l'édition doivent être similaires à celles du bloc-notes)
  • des capacités d'édition simples suffisent

Je vais essayer de maîtriser Vim, mais je dois faire une édition rapide maintenant!

12
sebagomez

Si vous recherchez un éditeur alternatif, vous n'êtes pas seul. Fondamentalement , la vie est trop courte pour apprendre vi et je dis que cela est un développeur de logiciels pour gagner sa vie. Toutefois, vous devriez apprendre à le quitter car c’est un problème pour n programmeur sur 20k . Il est également intéressant d’apprendre quelques opérations élémentaires d’ajout/insertion, car sur certains serveurs obstinés, vous ne trouverez aucun autre éditeur.

Maintenant, la réponse à votre question est probablement nano.

Si vous exécutez un script de génération automatisé, en utilisant git ou en exécutant d’autres commandes, ils peuvent ouvrir vim sans que vous ne le vouliez. Vous pouvez éviter cela en lançant ce qui suit avant de continuer:

export EDITOR=nano
21

C'est une question d'opinion.

Les débutants utilisent nano https://www.howtogeek.com/howto/42980/the-beginners-guide-to-nano-the-linux-command-line-text-editor/ .

vim (vi amélioré) a un peu de courbe d’apprentissage mais il est très puissant - Voir https://www.linux.com/learn/vim-101-beginners-guide-vim ou n’importe quel vim guides ou le didacticiel vim, vimtutor (inclus dans vim)

Pour l'instant je suggère fortement nano

nano -B /path/to/file/to/edit

-B fait une sauvegarde;)

Les commandes sont émises avec la clé de contrôle et sont répertoriées au bas de la fenêtre de l'éditeur.

Pour un guide sur la coloration syntaxique, voir Comment puis-je activer la coloration syntaxique dans nano?nano

emacs est une alternative à la fois à vim et à nano et présente également de nombreux avantages. emacs est plus complexe que nano.

Voir https://www.gnu.org/software/emacs/tour/

Juste pour être complet, les thèmes vim + tels que Zenburn peuvent être très utiles Zenburn

10
Panther

en tant que utilisateur Windows, après avoir essayé vim et nano, j'ai découvert qu'il me fallait quelque chose entre les deux, en termes de complexité. donc j'ai essayé slap et c'était la chose que je cherchais.

slap image

slap est un éditeur de texte basé sur un terminal de type Sublime qui s'efforce de faciliter l'édition à partir du terminal.


installation:

curl -sL https://raw.githubusercontent.com/slap-editor/slap/master/install.sh | sh
3
Soorena

Avez-vous déjà été frustré que votre éditeur de texte ne fasse pas ce que vous vouliez? Irrité que vous ne vous en souveniez plus ...

  • ... comment trouver de l'aide?
  • ... quoi: wq signifie?
  • ... un petit listre que vous avez lu en tant qu'étudiant?

Un monde petit et courageux vous attend!

Pendant que nous défendons nos éditeurs de texte légers préférés, permettez-moi de vous recommander eXcellent, minuscule et rapide xo (exofrills) .

Il s’agit d’un seul fichier Python 3, et il prend bien en charge la coloration syntaxique via Pygments (bien que cela ne soit pas parfait avec les non-Python):

enter image description here

Il contient également des combinaisons de touches extrêmement simples et utiles, que vous pouvez facilement et facilement modifier à votre guise:

enter image description here

Autres caractéristiques:

  • Moins de 850 lignes de code dans un seul fichier!
  • Mise en évidence de la syntaxe!
  • Expression régulière correspondant et remplacer!
  • Historique de recherche en cache!
  • WTFPL sous licence!
  • Entièrement personnalisable!
  • Commencez aux emplacements non-Origin!
  • Hop entre les mots sur une ligne!
  • Aller n'importe où dans le fichier!
  • Insertion de fichier entier!
  • Débutant convivial - peut-être que vous êtes novice dans les mots!
  • Copier et coller du texte!
  • Etat des lignes et des colonnes!
  • Une seule ligne d'espace d'édition non textuelle!
  • Sauvegarde et chargement!

La source Python3 est sur github , et vous pouvez l'installer plus facilement en utilisant:

Sudo apt install python3-pip
Sudo pip3 install exofrills 

exofrills: votre texte a été modifié ... mais vous avez toujours faim.

Disclaimer: Je ne suis en aucun cas affilié au projet exofrills.

2
cat

Si vous souhaitez utiliser Sublime sur un terminal comme un éditeur de texte avec prise en charge de la souris, optez pour Micro , Slap ou Suplemon .

Toutefois, si vous recherchez un éditeur de texte modal, ne cherchez pas plus loin que Kakoune .

0
blueray

Bien que je ne puisse pas nier que moi aussi je me suis battu avec vi au début, je pense que l'on peut dire que vi est en réalité très simple à apprendre. (Quand j'ai commencé à utiliser Unix, le choix était soit vi, soit emacs. À l'époque, j'ai donc choisi ed, ed étant un éditeur de ligne très simple, que j'avais déjà appris en lisant les premiers manuels Unix.) J'utilise vi quotidiennement, mais probablement n'utilisez qu'un très petit sous-ensemble de ses fonctionnalités.

Voici tout d'abord un argument pour utiliser vi: vi existe sur tous les systèmes, utilise très peu de ressources et peut être utilisé sur des connexions instables et lentes, où d'autres éditeurs peuvent échouer ou être lents et inutilisables. Ou dans des situations où le système est endommagé, les touches de direction ne sont pas interprétées correctement (mauvais paramètres terminfo, par exemple). Ainsi, vi peut être utilisé pour corriger les fichiers de configuration à l'origine du problème, sans être affecté par celui-ci.

Et voici comment apprendre un sous-ensemble utile de vi: Premièrement: arrêtez de penser à vi en tant qu '"éditeur" d'interface graphique interactive, et voyez-le comme un langage de programmation permettant de manipuler des fichiers texte. Au début, "vi" désignait le mode virtuel et vi a un équivalent non visuel, ce qui est un bon point de départ. Tapez ex à l'invite du shell (j'utiliserai ¬ pour représenter le retour):

$ ex¬
Entering Ex mode.  Type "visual" to go to Normal mode.
:

Maintenant, appuyez sur Entrée.

:¬
E749: empty buffer
:

Alors, mettons quelque chose dedans. Tapez "a¬", et tapez une ligne de texte, puis un point sur une ligne seule:

:a¬
Hello World¬
.¬
:

C'était la commande append. Facile, court et mnémonique. Mais ce serait bien de voir ce qu'il y a dans le tampon:

:%p¬
Hello World
:

C'était la commande print, p, évidemment. Le% est un raccourci de la gamme de lignes. Chaque commande peut être précédée d'un numéro de ligne ou d'une plage à laquelle la commande doit s'appliquer. % signifie "toutes les lignes". $ signifie la dernière ligne et un point représente la ligne actuelle. Un nombre signifie cette ligne particulière. Une plage est écrite n, m et un nombre peut être ajouté ou soustrait, ainsi. + 1, $ - 1 signifie de la ligne suivante à la dernière ligne dernière. Une commande composée d'un simple numéro de ligne va à cette ligne. Voici le petit sous-ensemble de commandes que j'utilise:

:1i¬
this text is inserted before line 1.¬
.¬
:

:w /tmp/filename¬
"/tmp/filename" [New] 2L, 49C written
:

w écrit toutes les lignes (ou la plage de lignes choisie) dans un fichier.

:1d¬

supprime la ligne 1.

:.s/Hello/Hello,/¬
Hello, World
:.s/$/!/¬
Hello, World!

s substitue une expression régulière. C'est bon de connaître les expressions régulières!

:q¬
E37: No write since last change (add ! to override)

q quitte. wq écrit et quitte. q! quitte sans écrire, et dans le même esprit, w! force une écriture dans un fichier si possible.

Maintenant un cool:

:p
Hello, World!
:.!tr a-z A-Z
:p
HELLO, WORLD!

! en tant que commande filtre les lignes dans une commande Shell.

Et enfin:

:vi¬

passe en mode VISUEL. Ne soyez pas dupe. Cela ressemble à un éditeur, mais ce n’est toujours qu’un shell de programmation interactif. Il vous suffit de regarder le tampon tout le temps et quelques autres commandes. En mode visuel a: affiche le message: Invite from ex mode. Les touches fléchées (si elles fonctionnent) se déplacent, et si elles ne le font pas, hjkl le fait! h à gauche, j en bas, k en haut et l à droite. 0 se positionne sur le premier caractère et ^ (pensez ici, regex!) Sur le premier caractère non espace de la ligne. $ (regex again!) se déplace en fin de ligne. Dactylographie: 999 € va à la ligne 999, naturellement, tout comme dans le mode ex.

"i" entre en mode insertion, qui insère maintenant des caractères au lieu de lignes et se termine par une pression sur la touche Échap au lieu de ".¬". "I" insère au début, "a" après le caractère sous le curseur et "A" après la fin de la ligne en cours. Toujours appuyer sur échap lorsque vous avez fini de taper du texte. "x" supprime le caractère sous le curseur et "D" du curseur jusqu'à la fin de la ligne. "Y" écrase (copie) la ligne en cours et "P" la recolle. ": pu" fait la même chose, mais peut être précédé d'un numéro de ligne. ": ya" est l'ex-équivalent de "Y", et encore, utile à appliquer à une plage de lignes. Je pense qu'il y a aussi une commande de marque, mais je vais admettre que je ne m'en souviens pas. Ça ne me manque pas.

Ce qui précède est ce que j’utilise, et je sais que je ne suis probablement pas un utilisateur vi très "efficace". Par contre, j'utilise la polyvalence des ex, par exemple pour l'édition de scripts de fichiers de configuration. Besoin de changer votre nom d’hôte foo.bar.com en www.foobar.com dans un certain nombre de fichiers de configuration?

for file in conf/*
do (echo "%s/foo.bar.com/www.foobar.com/" ; echo "wq") |ex $file ; done

Ce que j'essaie de dire, c'est que je pense que le problème avec vi est que les gens le considèrent comme un éditeur difficile. Tout ce que vous avez à faire est de changer un peu votre mentalité et de le considérer comme un langage de programmation interactif très simple mais aussi très puissant. Si puissant que même avec un sous-ensemble des commandes disponibles, vous pouvez l'utiliser à bon escient - non seulement comme éditeur, mais comme outil de script général bien intégré au reste d'Unix. Je doute que Nano fasse tout cela - emacs ... peut-être.

0
LHP