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


17

Je suis un utilisateur Windows venant au Bash d'Ubuntu grâce à WSL . Maintenant, je dois modifier certains fichiers et je déteste vraiment Vi. Dois-je simplement y faire face ou existe-t-il une alternative plus simple?

Les fonctionnalités que je recherche sont:

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

Je vais essayer de maîtriser Vim, mais je dois faire une modification rapide dès maintenant!


C'est une question d'opinion. Les débutants utilisent nano howtogeek.com/howto/42980/… . vim (vi amélioré) a un peu de courbe d'apprentissage mais il est très puissant - Voir linux.com/learn/vim-101-beginners-guide-vim ou tout guide vim ou le tutoriel vim, vimtutor (inclus dans vim)
Panther

Veuillez noter que cette question pourrait être fermée car elle est plutôt basée sur l'opinion. Vous voudrez peut-être le reformuler pour l'adapter aux règles du site (par exemple, que puis-je utiliser comme alternative à vim?)
Andrea Lazzarotto

3
Voter pour clôturer cette question comme une opinion. Un conseil: commencez par nano, puis passez à vim avec baby-steps. Cela sera payant à long terme, car vim est essentiellement sur n'importe quel système Linux
Sergiy Kolodyazhnyy

1
Pour faire suite à mon commentaire, le titre actuel est toujours discutable et pourrait conduire à la fermeture. Les gens pourraient considérer vim lui-même comme «bon», et c'est subjectif. Puis-je suggérer d'utiliser le mot "plus facile" à la place? Spécifier également certaines fonctionnalités souhaitées pourrait aider à affiner la question.
Andrea Lazzarotto

2
@Jos nous parlons de WSL où l'exécution de programmes GUI peut être effectuée mais n'est pas anodine. De plus, la question n'existerait pas pour les éditeurs de GUI car ils sont tous plus faciles que vim.
Andrea Lazzarotto

Réponses:


24

Si vous cherchez un éditeur alternatif, vous n'êtes pas seul. Fondamentalement, la vie est trop courte pour apprendre viet je dis que c'est un développeur de logiciels pour vivre. Cependant , vous devez apprendre à sortir parce qu'il est un problème pour un de 20k programmeurs . Il peut également être utile d'effectuer une opération d'ajout / insertion de base, car sur certains serveurs tenaces, vous ne trouverez aucun autre éditeur.

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

Si vous exécutez un script de construction automatisé, utilisez gitou exécutez d'autres commandes, elles peuvent s'ouvrir vimsans que vous le vouliez. Vous pouvez empêcher cela en exécutant ce qui suit avant de continuer:

export EDITOR=nano

1
Merci! point supplémentaire pour la EDITORpointe
sebagomez

3
"Fondamentalement, la vie est trop courte pour apprendre vi". Pas besoin de passer toute sa vie, même si on aime vim. J'ai passé 2 heures à regarder un bon tutoriel sur YouTube et j'ai continué à pratiquer les bases que j'ai apprises de la vidéo. Maintenant, 70% de toutes mes réponses sur Ask Ubuntu sont écrites dans vim.
Sergiy Kolodyazhnyy

7
Sur "la vie est trop courte", je pensais que cet essai avait un bon point. L'un des plus grands obstacles (artificiels) à l'apprentissage de Vim est la fausse prémisse selon laquelle vous devez immédiatement plonger pour devenir un utilisateur "noyau dur". Non. Utiliser les flèches. Utilisez les raccourcis de l'interface graphique pour copier / coller. Sortez en mode insertion. Ignorez les onglets et les registres et les cloches et les sifflets (pour l'instant). Il est relativement rapide d'accéder aux fonctionnalités de niveau nano dans Vim, et vous pouvez ajouter lentement des fonctionnalités avancées plus tard, selon vos besoins.
RM

Raccourcis de l'interface graphique @RM?
Andrea Lazzarotto

1
@Sergiy vim est logique si vous souhaitez utiliser des fonctionnalités avancées. Si je devais utiliser vim comme j'utilise nano, je continuerais simplement à utiliser nano (en fait, je le fais ... J'utilise vim quand je suis sur un serveur sur lequel je ne peux pas ajouter de logiciel, comme la machine d'un client).
Andrea Lazzarotto

11

C'est une question d'opinion.

Les débutants utilisent le nano .

vim ("vi amélioré") a un peu de courbe d'apprentissage mais il est très puissant. Consultez ce guide du débutant pour vim ou tout autre guide vim 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 touche de contrôle et sont répertoriées au bas de la fenêtre de l'éditeur.

Il existe un guide sur la coloration syntaxique, voir: Comment activer la coloration syntaxique dans nano?

nano

emacsest une alternative à la fois vimet nanoet a de nombreux avantages. emacsest plus complexe que le nano. Vous pouvez voir la tournée d'emac .

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

Zenburn


2
Pas seulement les débutants, essentiellement tous les humains qui ne veulent pas entrer dans les guerres vim vs emacs. : P
Andrea Lazzarotto

1
+1 J'irais aussi avec nano, même pour les utilisateurs de longue date vi ressemble à de la vieille merde
xavier_fakerat

Eh bien, pour être juste, vous pouvez thème vim et un .vimrc va un long chemin. vim et emacs ont des fonctionnalités avancées qui ne sont pas disponibles dans nano, mais c'est un gaspillage si vous n'utilisez pas les fonctionnalités avancées. Pour les modifications de base rapides, j'utilise nano bien que dans l'ensemble je sois un fanboi vim. kippura.org/zenburnpage
Panther

1
Apprenez vi/vim. :) C'est sur chaque appareil nix. :) Les bases ne sont pas si difficiles.
fugitif

3
"emacs est plus complexe que nano." : p cela pourrait être l'euphémisme de l'année.
Daniel Jour

3

en tant qu'utilisateur puissant de Windows, après avoir essayé vimet nanoj'ai découvert que j'avais besoin de quelque chose entre les deux, en termes de complexité. alors j'ai essayé la claque et c'était la chose que je cherchais.

gifler l'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

1
Vous avez oublié de mentionner le principal argument de vente, la prise en charge de la souris de première classe (même via une connexion SSH)
blueray

2

Avez-vous déjà été frustré que votre éditeur de texte ne fasse pas ce que vous vouliez? Furieux de ne pas pouvoir vous souvenir ...

  • ... comment trouver de l'aide?
  • ... quoi: wq signifie?
  • ... l'un des petits lisper que vous lisez en tant que premier cycle?

Un petit monde courageux vous attend!

Alors que nous plaidons pour nos éditeurs de texte légers préférés, permettez-moi de recommander l'excellent, minuscule et rapide xo(exofrills) .

Il s'agit d'un seul fichier Python 3, et il a un bon support pour la coloration syntaxique via Pygments (bien qu'il ne soit pas parfait avec des non-Python):

entrez la description de l'image ici

Il a également des combinaisons de touches extrêmement simples et utiles qui peuvent être facilement et facilement modifiées selon le contenu de votre cœur:

entrez la description de l'image ici

Autres caractéristiques:

  • Moins de 850 lignes de code dans un seul fichier!
  • Mise en évidence de la syntaxe!
  • Correspondance et remplacement d'expressions régulières!
  • Mise en cache de l'historique des recherches!
  • Licence WTFPL!
  • Entièrement personnalisable!
  • Commencez dans des lieux non d'origine!
  • Sautez entre les mots sur une ligne!
  • Allez n'importe où dans le fichier!
  • Insertion de tout le fichier!
  • Convient aux débutants - peut-être que vous êtes nouveau dans les mots!
  • Copiez et collez du texte!
  • Statut de ligne et de colonne!
  • 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é édité ... mais vous avez encore faim.

Avertissement: je ne suis en aucun cas affilié au projet exofrills.


1
Cela a l'air très soigné, +1 de moi. Bien que cette quantité de points d'exclamation soit inquiétante. : P
Andrea Lazzarotto

0

Bien que je ne puisse pas nier que j'ai moi aussi eu du mal avec vi au début, je pense que l'on peut faire valoir que vi est en fait très simple à apprendre. (Quand j'ai commencé à utiliser Unix, le choix était soit vi, soit emacs, donc au moment où j'ai 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 j'ai probablement utiliser uniquement un très petit sous-ensemble de ses fonctionnalités.

Voici d'abord un argument pour utiliser vi: vi existe sur tous les systèmes, utilise très peu de ressources et peut être utilisable 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 cassé, donc les touches fléchées ne sont pas interprétées correctement (mauvais paramètres terminfo par exemple.) Ainsi, vi peut être utilisé pour corriger les fichiers de configuration menant au problème, sans être affecté par le problème.

Et voici comment apprendre un sous-ensemble utile de vi: Premièrement: arrêtez de penser à vi comme un "éditeur" interactif de GUI de terminal, et voyez-le comme un langage de programmation pour manipuler des fichiers texte. Au début, "vi" signifiait le mode visuel, et vi a un homologue non visuel ex, 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.
:

Appuyez maintenant 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 par lui-même:

: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 d'impression, p, évidemment. Le% est un raccourci de 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 signifie 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 à l'avant-dernière ligne. Une commande composée uniquement d'un 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 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 se ferme. wq écrit et quitte. q! quitte sans écrire, et dans la même veine, w! force une écriture dans un fichier si possible.

Maintenant cool:

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

! comme une commande filtre les lignes dans une commande shell.

Et enfin:

:vi¬

passe en mode VISUAL. Ne vous laissez pas berner. Il ressemble à un éditeur, mais ce n'est encore qu'un shell de programmation interactif. Vous obtenez juste de regarder le tampon tout le temps, et quelques autres commandes. En mode visuel a: affiche l'invite: depuis le mode ex. Les touches fléchées (si elles fonctionnent) se déplacent, et si elles ne le font pas, alors hjkl fait! h gauche, j bas, k haut et l droite. 0 passe au premier caractère et ^ (pensez à l'expression rationnelle ici!) Au premier caractère non espace sur la ligne. $ (regex again!) se déplace à la fin de la ligne. Taper: 999¬ va naturellement à la ligne 999, comme en mode ex.

"i" entre en mode d'insertion, qui insère maintenant sur les caractères au lieu des lignes, et se termine en appuyant sur échappement 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 courante. Appuyez toujours sur Échap lorsque vous avez terminé de taper du texte. "x" supprime le caractère sous le curseur et "D" supprime le curseur jusqu'à la fin de la ligne. "Y" tire (copie) la ligne actuelle et "P" la colle. ": pu" fait de même, mais peut être précédé d'un numéro de ligne. ": ya" est l'ex équivalent de "Y", et encore une fois, utile pour appliquer à une plage de lignes. Je pense qu'il y a aussi une commande mark, mais je dois 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". D'un autre côté, j'utilise la polyvalence d'ex, par exemple pour éditer des fichiers de configuration par script. Besoin de changer votre nom d'hôte foo.bar.com en www.foobar.com dans un certain nombre de fichiers conf?

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 qu'il faut, c'est changer un peu votre état d'esprit et le voir comme un langage de programmation interactif très simple mais aussi très puissant à la place. Si puissant que même avec un sous-ensemble des commandes disponibles, vous pouvez l'utiliser à bon escient - pas seulement en tant qu'éditeur mais en tant qu'outil scriptable général bien intégré au reste d'Unix. Je doute que nano ferait tout cela - emacs ... peut-être.


3
Désolé mais ... cela ne répond pas à la question. OP a demandé une alternative à vim et les réponses devraient le fournir.
Andrea Lazzarotto

1
Je salue le travail que vous avez mis dans cette réponse, mais cela ne répond pas vraiment à la question - un tutoriel sur et plug for vim n'appartient pas du tout ici, mais il appartient à votre blog.
chat

Cette réponse est exactement pourquoi tant de gens demandent une alternative aux viemacs - plus nous disons qu'ils sont désagréables à utiliser, plus les convertis insistent pour que nous essayions plus fort de les utiliser.
Shukri Adams

0

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

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.