Vera soluzione dell'editor di testo in modalità colonna (selezione e modifica dei blocchi)?


16

In Windows, usavo un editor di testo chiamato cremisi che presentava il miglior supporto di modifica in modalità colonna che non ho ancora usato.

Se abilitato tramite un semplice Alt - Cscorciatoia, selezioni potrebbe essere fatto con il mouse oi tasti cursore e sarebbero blocchi visivi anziché linee avvolto.

Queste selezioni potrebbero essere eliminate, spostate, copiate, incollate e tutte le operazioni avevano semplicemente senso. Potresti anche iniziare a digitare e otterrai una colonna di caratteri durante la digitazione.

Esistono diversi modi per far funzionare separatamente parti di queste funzionalità, discusse su questo thread del forum, ma nessuno deve ancora fornire una soluzione che offra questo metodo onnicomprensivo e facile da usare.

Se qualcuno potesse indicarmi un plugin gedit in cui questo lavoro è attivamente perseguito, forse potrei aiutare me stesso con la codifica. Se qualcuno è a conoscenza di un editor di testo che fornisce già questa piena funzionalità, apprezzerei le informazioni. L'esecuzione di editor cremisi attraverso wine e il plug-in multi-edit per gedit, vicino ma non proprio, sono le soluzioni temporanee con cui mi sto "divertendo" per il momento.

AGGIORNAMENTO (2012-11): ora sono un utente molto felice del testo sublime . Supporta un eccellente editing in modalità colonna e funziona senza problemi su tutte e tre le principali piattaforme del sistema operativo. Altamente raccomandato!


Se hai familiarità con emacs, emacs fornisce supporto per l'editing delle colonne tramite molte modalità ma richiede di abituarti (aka curva di apprendimento). Posso specificare se risponderà alla tua domanda.
Koushik,

Risposte:


20

Geany Installa GeanyInstalla tramite il centro software

è un ambiente di sviluppo integrato che offre un buon supporto per la modifica delle colonne che vale la pena provare (un esempio qui )

In poche parole, premi Alt+ + Shiftinvece di semplicementeShift effettuare le selezioni per richiamare la modalità colonna. Una limitazione importante è che le modifiche in modalità colonna non sono (ancora) annullabili.

Per ottenere lo stesso risultato con il mouse, tenere premuto Ctrldurante la selezione. Questo in realtà funziona con la maggior parte degli editor basati su Scintilla (inclusi SciTE e Geany).


Sto provando Geany e lavorare con la selezione delle colonne è abbastanza bello .. è quasi arrivato. Sai se faccio una selezione di blocchi con il mouse?
tamale,

1
Tenere premuto Ctrl mentre si seleziona con il mouse. Questo in realtà funziona con la maggior parte degli editor basati su Scintilla (inclusi SciTE e Geany).
JanC

@ JanC - Grazie per l'input. Ho aggiornato la mia risposta con questo.
Koushik,

SciTE è disponibile anche su Windows e Ubuntu, che potresti trovare utile se lavori su entrambe le piattaforme.
Firefeather,

Funziona benissimo anche su Fedora. Adoro Geany!
Hacre,

8

Per modificare le colonne, utilizzo vi / gvim. Ci vorrà un po 'di apprendimento per abituarsi a vi, ma alla fine molte persone trovano che questo è il loro editor preferito.

Nello specifico all'interno di vi puoi usare CTRL-V per evidenziare le colonne in modalità visiva, quindi puoi modificarlo come ti aspetteresti. Lo uso sempre per l'aggiunta e la rimozione di commenti o per il rientro di funzioni, ad esempio CTRL-V (evidenziare una colonna) SHIFT-I '#' ESC commenterà l'intera colonna.


5

Si utilizza l'editor Eclipse. Alt+ Shift+ Adovrebbe fare quello che ti serve.


5

nedit Installa nedit Installa tramite il centro software

Uso NEdit tutto il tempo.

Per installarlo utilizzando il terminale, utilizzare il seguente comando:

sudo apt-get install nedit

Old school (Motif) ma ha schede ed è leggero e semplice. Ha l'evidenziazione del contesto inclusa per un certo numero di linguaggi di codifica e altri possono essere aggiunti. Premendo Ctrl mentre si trascina con il mouse, è possibile selezionare un blocco di testo. Quindi puoi copiare / incollare come al solito. Non potrei fare a meno di questa funzione ora.


Puoi selezionare un blocco usando solo la tastiera?
Iain Samuel McLean Elder,

Certo, con la tastiera usa Maiusc + Alt + frecce. Non vedo però la digitazione di colonne (solo incolla e rientro di colonne).
Kubanczyk,

1

Usa un gEdit con gmate e plugin. Otterrai il TextMate di Linux.

sudo apt-get install gedit gedit-plugins
cd ~/Downloads
git clone http://github.com/gmate/gmate.git
cd gmate
sh ./install.sh

Con questa "leggera" modifica gEdit è davvero incredibile.


Ma ... gmate fornisce l'editing a blocchi?
tutuca,

Ctrl + PgDn / PgUp ti consentono di selezionare le righe contemporaneamente per l'editing dei blocchi. Inoltre puoi Ctrl + clic sinistro per selezionare le variabili per modificarle in una volta.
AndyB,

1
@AndyB, qual è esattamente il nome del plugin che deve essere attivato? Questi tasti di scelta rapida non funzionano dopo l'installazione di gmate. (Sto usando gedit 3.4.2)
alfC

ottenuto gmate, ma come fare la selezione delle colonne?
weima,

1

Questo è possibile in emacs ed è facile se usi la modalità cua. C-return segna la parte superiore sinistra del rettangolo. Quindi spostare il cursore per evidenziare la regione rettangolare.

Le funzionalità della modalità colonna di emacs sono davvero interessanti. Vanno ben oltre la semplice copia / incolla del testo rettangolare. Guarda il video per una demo di come modificare contemporaneamente tutte le linee nella colonna! Molto maneggevole!

Se non vuoi guardare il video (o non puoi) ecco le nozioni di base:

Il supporto del rettangolo superiore in modalità CUA si basa sull'utilizzo di una rappresentazione visiva reale del rettangolo selezionato. Per iniziare un rettangolo, usa [S-return] ed estendilo usando i normali tasti di movimento (su, giù, sinistra, destra, home, end, C-home, C-end). Una volta che il rettangolo ha la dimensione desiderata, puoi tagliarlo o copiarlo usando Cx e Cc e successivamente puoi inserirlo - come un rettangolo - usando Cv. Quindi l'unico nuovo comando che devi sapere per lavorare con i rettangoli in modalità CUA è S-return!

Su Kubuntu 12.04 ed emacs v24, [S-return] è CONTROL-RETURN (CTRL-ENTER) per me.

Come già accennato, Scite ha questo built-in (nessun plug-in necessario). È molto facile da usare. E Scite è nei repository di Ubuntu.

Blocchi di testo rettangolari possono essere selezionati in SciTE tenendo premuto il tasto Alt su Windows o il tasto Ctrl su GTK + trascinando il mouse sul testo.


0

Incolla questo comando nel terminale

sudo sed -i.backup -r '/^#\s?deb\s?(http|ftp|-src).*(partner|multiverse|universe)/s/^#\s?//g' /etc/apt/sources.list

sudo apt-get update

sudo apt-get -y vim-gnome vim-doc

vim yourfile

In vim usare:

ctrl-v ....... to select in mode column
j ............ to down 

vedere:

 :help

0

Anche Notepadqq può farlo: presentano brevemente la funzione nella loro pagina . Tieni premutoAlt , quindi tenere premuto Ctrlo Shifte selezionare le "colonne" desiderate trascinando (o anche facendo clic, se si tiene premuto Ctrl) con il mouse. Rilascia i pulsanti quando hai finito di selezionare le colonne e inizia a modificare digitando, usando i tasti freccia, copia-incolla (un clic del mouse annullerà la selezione multipla).

I punti selezionati non devono formare una colonna reale, è un numero arbitrario di cursori attivi contemporaneamente. Quando si copia e incolla, il testo viene incollato cursore per cursore se il numero di quelli copiati e incollati corrisponde, altrimenti ogni cursore di destinazione ottiene una copia completa dell'input.

Piccoli fastidi: non è possibile deselezionare singoli cursori mantenendo gli altri e non è possibile utilizzare la tastiera per selezionarli (o almeno non so come).


0

Anche KWrite , Kate e KDevelop supportano questo. È un po 'diverso in loro in quella modalità di modifica della colonna non funziona tramite i tasti modificatori, ma come una modalità che si attiva e disattiva. Questi tre programmi hanno livelli di funzionalità diversi ma si basano sullo stesso componente dell'editor.

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.