Editor di testo della console con scorciatoie da tastiera simili a Windows (ctrl-z, x, c, v)


31

Ok, mi rendo conto di rischiare una guerra religiosa facendo una domanda sugli editor di testi, ma qui va.

Requisiti

  • Utilizzato principalmente per le modifiche ai file di configurazione
  • Basato sul testo non sulla GUI
  • Disponibile per il sapore Raspian di Debian
  • Nessun apprendimento richiesto per un utente della GUI di Windows / Mac (no vi / vim)
  • Utilizza appieno i tasti presenti nelle tastiere moderne, ovvero home, end, pgup, pgdn, del
  • Utilizza le scorciatoie da tastiera presenti in quasi tutte le app della GUI, ad esempio Annulla ( Ctrl-Z), Ripeti ( Shift-Ctrl-Z), Seleziona tutto ( Ctrl-A), Taglia ( Ctrl-X), Copia ( Ctrl-C), Incolla ( Ctrl-V), Espandi selezione ( Shift-Arrow), Salta parola ( Ctrl-Arrow), Elimina selezione ( Del) eccetera
  • Opzionale : supporto del mouse per cambiare la posizione del cursore e selezionare il testo

Sicuramente questa non è una grande domanda al giorno d'oggi?


2
"Non è richiesto alcun apprendimento" suona come un criterio insolitamente restrittivo (e forse non realistico) soprattutto quando si richiede uno strumento CLI ...
jasonwryan,

1
nanosarebbe vicino. Non avrà esattamente le stesse scorciatoie ma scorciatoie simili per fare la stessa operazione. oppure puoi creare .nanorc e avere scorciatoie personalizzate
h3rrmiller,

2
@jasonwryan Come utente esperto di Windows (o Mac), ho già l'apprendimento necessario per utilizzare un moderno editor di testo usando solo la tastiera. Vorrei usare la stessa esperienza in uno strumento della CLI di Linux.
Greg Woods,

3
Le scorciatoie che ti aspetti sono le modifiche di Microsoft sulle linee guida CUA di IBM . Né CUA né le modifiche di MS sono tradizionali nel mondo unix.
Gilles 'SO- smetti di essere malvagio' il

4
@Gilles Non sono del tutto sicuro di essere d'accordo nel chiamare quelle scorciatoie "Windows". Ogni applicazione GUI comune che esegue l'editing di testo utilizza tali collegamenti su tutte le principali piattaforme. Molte di queste scorciatoie precedono anche Windows.
jw013,

Risposte:


13

Ho provato tutte le soluzioni di cui sopra (tranne quelle che sono ovviamente stupide, come le configurazioni emacs o vi).

Il migliore in assoluto è la tilde. Veramente fatto per ordinare di rispondere alla domanda originale posta da Greg Woods. Dovrebbe essere aggiunto a tutti i repository Linux standard.

Come utente nano di lunga data, che ha trovato la sua strada qui alla ricerca di qualcosa di altrettanto semplice con un buffer di annullamento / ripetizione reale e associazioni di tasti dell'editor GUI standard, consiglio vivamente l'editor Sanos. È piccolo e fa esattamente ciò che richiede la query originale. Il suo unico difetto è che non c'è supporto del mouse per posizionare il cursore. È il mio nuovo editor minimale preferito e nano sta andando nella pattumiera. Devi compilarlo, ma è un programma banale da compilare - un singolo file sorgente in linguaggio C. L'ho compilato in "sano" per "sanos editor" (sanos è in realtà un mini-os).

E ora, per ribadire la domanda, che la maggior parte delle risposte e dei voti sembrano ignorare: la richiesta è per un semplice editor di base morto che funzioni e utilizzi solo i collegamenti della GUI standard (che, a proposito, non appartengono a Windows).

I due che raccomando, e fte, sono gli unici a riempire il conto e fte è troppo eccentrico in un xterm.


Ho compilato sanos ma i tasti MAIUSC + freccia non funzionano, anche MAIUSC funziona per lettere maiuscole, sto usando lo stucco per ssh
BioHazard,

Questa è la migliore risposta imho. Ho provato entrambi e Shift + Frecce per la selezione e Ctrl + C Ctrl + V ecc funziona in entrambi. Ho dovuto disabilitare le scorciatoie da tastiera in conflitto nell'emulatore di terminale anche se come Shift + Su per scorrere indietro di una riga.
SoleSoul,

La cosa interessante è che l'editor Sanos ha solo ~ 2000 righe di codice, ha Control-Z annulla, Maiusc-selezione, gestisce bene le schede. Sembra che la funzione unindent () abbia un bug. Penso che questo sarebbe un ottimo punto di partenza per costruire un editor più potente.
PJ Brunet,

mio Dio. grazie per questo. ho provato tilde per 20 secondi e ha detto "Sì, questo è quello che voglio!" Saluti!
Paul Erlenmeyer,

11

Prova Micro.

https://github.com/zyedidia/micro

Micro è un editor di testo basato su terminali che mira a essere facile da usare e intuitivo, sfruttando al contempo tutte le funzionalità dei terminali moderni. Viene fornito come un singolo binario statico, incluso batterie, senza dipendenze, e puoi scaricarlo e usarlo subito.

Come indica il nome, micro mira ad essere in qualche modo un successore del nano editor essendo facile da installare e utilizzare in un pizzico, ma micro mira anche ad essere divertente da usare a tempo pieno, sia che tu lavori nel terminale perché lo preferisci (come me) o perché è necessario (oltre a ssh).

Schermate e colori

È quasi perfetto. La selezione della freccia Maiusc funziona perfettamente. Control-C (taglia), Control-V (incolla), Control-Z (annulla), Control-S (salva) funzionano tutti come previsto. Indenta e rimuove perfettamente anche le selezioni.

È necessario un emulatore di terminale che supporti correttamente il tasto Maiusc. Terminator funziona alla perfezione. Alcuni terminali basati su Android non supportano la selezione a turni, ma JuiceSSH (il più popolare in Google Play) funziona, anche se non l'ho ancora ampiamente testato.


2
E un eccellente supporto per il mouse e una straordinaria evidenziazione della sintassi.
PJ Brunet,

Questo è probabilmente il più "moderno", come evidenziato dalla combinazione di colori predefinita e dalla scelta delle lingue supportate. Tuttavia, le combinazioni di tasti differiscono in modo significativo da qualcosa come Sublime, è un PIA per cambiarle e molte scorciatoie da tastiera semplicemente non sono supportate.
Aleksandr Dubinsky,

9

joeè, IMO, il migliore degli editor che non sono vi. È un editor decente a pieno titolo a sé stante, piuttosto che un editor minimale privo di funzionalità come nano.

Se invocato come jstaro joe, i tasti di scelta rapida predefiniti sono simili a WordStar che sono stati utilizzati anche in molti altri programmi nel corso degli anni, incluso l'editor negli IDE Borland Turbo Pascal e Turbo C, quindi dovrebbero essere familiari a molti utenti. Se invocato come jmacle combinazioni di tasti sono emacssimili. I tasti di scelta rapida sono configurabili e, se non riesci a trovare una configurazione adatta a te, puoi aggiungerne una tu stesso o copiarne e modificarne una esistente.

Sono troppo un viutente per usarlo da solo, ma lo consiglio spesso a persone che non amano o vogliono imparare un editor modale come vi, con buoni risultati.

Ecco la descrizione nel pacchetto debian:

Joe, o il proprio editor di Joe, ha la sensazione della maggior parte degli editor di testi per PC: le sequenze di tasti ricordano gli editor di WordStar e Turbo C, ma il set di funzionalità è molto più grande di quelli. Joe ha tutte le funzionalità che un utente Unix dovrebbe aspettarsi: pieno utilizzo di termcap / terminfo, completa integrazione Unix in stile VI, un potente file di configurazione e un sistema di ricerca di espressioni regolari. Ha anche sei schede di riferimento della guida sempre disponibili e un'interfaccia utente intuitiva, semplice e ben ponderata.

Joe ha un ottimo algoritmo di ottimizzazione dell'aggiornamento dello schermo, più finestre (attraverso / tra le quali è possibile scorrere) e manca la nozione confusa di buffer con nome. Ha una cronologia dei comandi, espansione TAB nei menu di selezione dei file, funzioni di annullamento e ripetizione, (un) rientro e formattazione dei paragrafi, filtro dei blocchi evidenziati attraverso qualsiasi comando Unix esterno, modifica di una pipe dentro o fuori da un comando e blocco di spostamento, copia, cancella o filtra.

Attraverso semplici file di configurazione in stile QEdit, Joe può essere impostato per emulare editor come Pico ed Emacs, insieme a un'imitazione completa di WordStar e una versione in modalità limitata (consente di modificare solo i file specificati nella riga di comando). Joe ha anche un aggiornamento dello schermo differito per gestire la tipografia e garantisce che il differimento non venga bypassato dal buffering tty. È utilizzabile anche a 2400 baud e funzionerà su qualsiasi tipo di terminale sano.

È, AFAIK, impacchettato per tutte le distro, e la fonte è disponibile su http://joe-editor.sourceforge.net/ - la fonte debianizzata dovrebbe compilare su Raspian se non c'è già un pacchetto binario.


1
Grazie per il suggerimento Può essere utile a qualcuno, ma non mi sono mai piaciute le scorciatoie in stile Wordstar. Posso riconsiderare quando ho bisogno di un editor più ricco di funzionalità.
Greg Woods,

11
-1: le scorciatoie da tastiera di Joe sembrano essere "poco ortodosse" come quelle di vim o nano. Ad esempio, CTRL + A non "seleziona tutto", CTL + F non "trova".
Garrett,

Ho usato Joe dal 1994, e non credo che questa sia la migliore risposta alla domanda, sebbene Joe sia relativamente semplice rispetto a Vim. Ho notato che Joe non è presente in alcune distro ora, ma puoi facilmente ottenere "Jupp" (basato su Joe) con yum o apt-get. Jupp ha la selezione SHIFT. Taglia e incolla è un po 'strano con Jupp, ma è facile da imparare, Control-J per aiuto.
PJ Brunet,

3
Siamo spiacenti, ma questo risponde davvero alla domanda? joeè altrettanto difficile uscire da come vime i tasti di scelta rapida di Windows non funzionano.
mafu,

Sono stato riportato a questa risposta da un voto. Come ha sottolineato Gilles nella sua risposta , ci sono combinazioni di tasti CUA disponibili per joe.
Cas

7

Prova l' editor di testo FTE . Sono disponibili più versioni; quello che vuoi è probabilmente sfteche è nel fte-terminalpacchetto di Debian .

inserisci qui la descrizione dell'immagine


Un bel suggerimento, ma il semplice tentativo di premere MAIUSC + Freccia GIÙ per selezionare il testo ha causato il caricamento di messaggi "FIXME" che hanno danneggiato lo schermo. Le scorciatoie sono direttamente dagli anni ottanta ... Ctrl-Ins per la copia? Alt-Backspace per Annulla? Alcune delle opzioni sono pure geek per Linux: "Copia - Aggiungi"? Non avrei dovuto leggere il manuale per un comando Copia! Tra i lati positivi, all'avvio mi è piaciuto il browser delle directory.
Greg Woods,

1
Strano. La prima cosa che ho provato è stato Maiusc + Freccia giù per selezionare il testo, seguito da Ctrl-C e Ctrl-V per copiare e incollare, poiché ho pensato che fosse quello che avresti provato anche tu. Hanno lavorato tutti per me.
Jim Paris,

Hmm. Dispari. Ero nella versione terminale che ho ottenuto con sudo apt-get install fte-terminal. Ci proverò ancora quando avrò qualche minuto.
Greg Woods,

1
Anch'io. Forse dipende dall'emulatore di terminale in uso; il mio è xterm.
Jim Paris,

questo ha senso, perché anche Diakonos non ha funzionato correttamente. Dovrò esaminare le opzioni disponibili in PuTTY
Greg Woods il

7

Per farla breve: Usa nano

Puoi personalizzare facilmente nanoper soddisfare le tue esigenze, in particolare per quanto riguarda le scorciatoie da tastiera desiderate. Per fare ciò, dai un'occhiata al bindparametro che puoi impostare nel tuo ~/.nanorcfile locale . Naturalmente, puoi anche scaricare file di configurazione già pronti (vedi sotto).

Puoi associare combinazioni di tasti modellate su Ctrl+una precedente ^e Alt+con M-("Meta"). Sfortunatamente, sembra che non ci sia modo di associare combinazioni contenenti la Shiftchiave. I nano valori predefiniti per saltare a parole sono Ctrl+Spacee Meta+Space. E come se ciò non bastasse, non è nemmeno possibile associare i tasti freccia . Ma forse puoi vivere con questi inconvenienti.

Perché dai un'occhiata al lato positivo: è un dato di fatto che esiste un pacchetto su github , che contiene per lo più l'evidenziazione della sintassi migliorata, ma arriva anche con quasi tutte le combinazioni di tasti desiderate . Installalo chiamando make, ma tieni presente che la tua corrente ~/.nanorcverrà sovrascritta durante il processo.

Penso che dovresti provarlo, anche se la Shift+Arrowselezione sembra essere una delle tue massime priorità. In nano, useresti Ctrl+Aper avviare la modalità di selezione, quindi non dovrai nemmeno tenerti Shiftpremuto tutto il tempo! E puoi sempre usare le Ctrl+Shift+Xscorciatoie ecc. Fornite dal tuo terminale. Come forse avrai riconosciuto, sono abbastanza contento nano, forse in parte a causa dell'essere un ex utente di Windows.


Modifica: ecco uno screenshot che mostra alcune delle combinazioni di tasti pertinenti nella barra di aiuto in basso.

Editor nano dotato del pacchetto di impostazioni github.com/craigbarnes/nanorc


5

Cream è una configurazione di VIM non modale e che utilizza tutte le scorciatoie da tastiera come Ctrl + X, Ctrl + V che potresti aspettarti.

A differenza di Vim, non è estraneo alle persone abituate alle applicazioni della GUI di Windows come Blocco note. Se puoi usare Blocco note puoi usare Crema.

  • Può essere utilizzato per le modifiche ai file di configurazione
  • Basato sul testo e sulla GUI
  • Disponibile per il sapore Raspian di Debian
  • Nessun apprendimento richiesto per un utente GUI Windows / Mac
  • Utilizza appieno i tasti presenti nelle tastiere moderne, ovvero home, end, pgup, pgdn, del
  • Utilizza le scorciatoie da tastiera presenti in quasi tutte le app della GUI, ad esempio Annulla (Ctrl-Z), Ripeti (Maiusc-Ctrl-Z), Seleziona tutto (Ctrl-A), Taglia (Ctrl-X), Copia (Ctrl-C), Incolla (Ctrl-V), Espandi selezione (Maiusc-Freccia), Salta parola (Ctrl-Freccia), Elimina selezione (Canc) ecc
  • Supporto del mouse per cambiare la posizione del cursore e selezionare il testo

Mi ci è voluto un po 'per trovarlo, cream -vti porta in modalità testo e F12 ti offre un menu.
PJ Brunet,

4

Emacs viene fornito con una modalità di associazione CUA . Aggiungi la linea

(cua-mode 1)

al tuo ~/.emacs.

Joe è un editor in modalità testo medio-piccolo con combinazioni di tasti configurabili. C'è una serie di associazioni CUA (non nella distribuzione standard, penso, quindi installale nella tua home directory).


3
Wow, c'è un nome per quello che sto cercando "Accesso utente comune" en.wikipedia.org/wiki/IBM_Common_User_Access Grazie per quello!
Greg Woods,

3

Diakonos è inoltre conforme alla maggior parte dei requisiti:

Frustrato da quegli altri editor di console? Sai già quali tasti premere nelle tue applicazioni della GUI per aprire, salvare, copiare, tagliare, incollare e annullare. Perché l'editor di testo della console dovrebbe comportarsi diversamente? Risposta: non dovrebbe.

Benvenuto in Diakonos, l'editor di testo per console con una mappatura dei tasti che già conosci. Facile da usare e facile da configurare, ma potente nelle mani di utenti esperti.

Il pacchetto Debian esiste, non ho informazioni su quel sapore richiesto.


Grazie per il suggerimento Potrei entrare a Raspian. Non è ancora possibile selezionare Maiusc e altre funzioni. Ma come suggerito da @ jim-paris, è probabilmente un problema di emulazione terminale.
Greg Woods,

2

Dai un'occhiata all'editor Sanos:

http://www.jbox.dk/sanos/editor.htm

Solo un binario da 28k può fare ciò che tutti gli altri editor cercano di fare - e falliscono.

Fa esattamente ciò che l'OP ha richiesto:

Maiusc + frecce per evidenziare il testo

Ctrl-X, C, V per tagliare / copiare / incollare

Puoi anche avere più file aperti contemporaneamente e comandi "pipe" al suo interno. Ad esempio, premi Ctrl-P e al prompt inserisci:

cat tuo file

e inserirà il tuo file nella posizione del cursore. In questo modo la piena potenza dei comandi bash è a tua disposizione (usa grep per inserire solo parti specifiche del file).


1

La risposta è gattino + tilde (KiTTY è un fork dalla versione 0.66 di PuTTY) ragazzi! Tutta la mia vita è stata una bugia: D

http://www.9bis.net/kitty/?page=Download

È stato corretto il bug MAIUSC + tasti freccia fornito con putty (anche MAIUSC + tasti freccia non funzionava in altri client SSH)


Sembra che almeno una parte del problema provenga dal terminale, quindi non vedo l'ora di provarlo.
Greg Woods,

1

Quanto segue è stato testato utilizzando nano da un terminale in MS-Windows.
Farà avvicinare di più il tuo nano supportando le scorciatoie "universali" per copia / taglia / incolla ecc. (Almeno nel mondo Windows).
Aggiungi queste righe al file/etc/nanorc

bind ^c copytext main
bind ^x cut main
bind ^v uncut main
bind ^z undo main
bind ^y redo main
bind ^f whereis main
bind F3 findnext main
bind ^h replace main

Ricorda che funzionano su una riga intera se non selezioni prima il testo: - /

Se hai problemi di selezionare il testo in nano con shift+arrow-keysallora essere consapevoli questo non sembra essere correlato al nano , ma il tuo programma di terminale! Non funziona in PuTTY, ma ad esempio funziona in Kitty (un fork di PuTTY, versione Windows / versione Linux ) o nel client SSH di Google per Chrome.

(Sto usando Debian Buster)


0

Le è un'altra soluzione. È come Norton Commander (di fama Midnight Commander) ma forse più intuitivo.

In MC si preme F3 per iniziare e terminare la selezione della regione, quindi utilizzare F5 o F6 per copiarlo o spostarlo. Sul le F5 inizia la selezione e se si sposta in avanti, F6 la terminerà. Se si sposta in avanti oltre una selezione precedente, F6 aggiungerà tutto fino ad esso, oppure se si sposta indietro e si preme F5 tutto fino ad esso verrà aggiunto. Quindi puoi usare F5 o F6 come se fosse F3 in MC. Se si preme F5 e si sposta indietro e lo si preme di nuovo, seleziona quella regione. Se si preme F6 e si sposta in avanti e si preme di nuovo, seleziona quella regione.

Per installare utilizzare:

apt-get install le

oppure scarica il sorgente e costruisci (l'ho testato su Debian sid):

http://lav.yar.ru/download/le/le-1.14.9.tar.gz

Ecco il pacchetto Debian: http://packages.debian.org/sid/le


0

Ho provato Nano, Joe, Pico ecc. Sebbene siano più facili di Emacs o Vi [m], hanno tutti interfacce utente strane e idiosincratiche diverse da qualsiasi altro programma dagli anni '80.

Ma ci sono editor moderni e compatibili CUA per Linux!

Qualcuno ha raccomandato FTE. È a lungo non mantenuto, ma esiste un fork attuale chiamato eFTE: http://sourceforge.net/projects/efte/

È abbastanza buono; ad esempio, è in grado di intercettare il tasto Alt per accedere al menu anche quando è in esecuzione in una finestra dell'emulatore di terminale X.

Ce n'è un altro che mi piace anche, chiamato Tilde, che è attualmente gestito e ha pacchetti recenti disponibili. http://os.ghalkes.nl/tilde/


1
L'editor di Tilde dovrebbe essere la risposta giusta. Questo editor è davvero buono!

0

Di recente mi sono imbattuto in MinEd [ http://towo.net/mined/]

# Option "emul": emulation mode, especially control key function mapping; 
# takes a single-letter value: 
# e: emacs mode 
# s: WordStar mode 
# w: Windows keyboard mode 
# W: Windows behaviour (-w, CRLF for new files, cmd.exe with ESC !) 
# p: pico mode 
# m: mined default 
#emul m

Apparentemente è nei test Debian e ha il supporto del mouse, ma non l'ho ancora provato.
PJ Brunet,

0

Fiflo è la soluzione minimalista. Tasti di scelta rapida supportati: Ctrl+Arrows Ctrl+Backslash Ctrl+D Ctrl+O Ctrl+Q Ctrl+O Ctrl+F1-F4.

Lo uso perché non ho tempo di aprire il file etc/nanorc.


0

mcedit è il migliore. almeno ti manda agli anni '90 con l'interfaccia utente. nessuna freccia MAIUSC come con tutti gli editor menzionati, ma molto interfaccia Norton Commander, tasti Fx, CtrlO per vedere la shell. Ricorda la posizione al ritorno, riconosce l'evidenziazione anche per file improbabili (senza estensione). Più intelligente, vicino alle alternative di Windows e lontano dalle alternative di Unix (meglio).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.