¿Una verdadera solución de editor de texto en modo columna (selección de bloques y edición)?

16

En Windows, solía usar un editor de texto llamado editor carmesí que presentaba el mejor soporte de edición en modo columna que aún no he usado.

Cuando se activa a través de un simple Alt- Cacceso directo, selecciones podrían hacerse con las teclas del ratón o cursor y serían bloques visuales en lugar de líneas envueltos.

Estas selecciones se pueden eliminar, mover, copiar, pegar y todas las operaciones tienen sentido. También podría comenzar a escribir y obtendría una columna de los caracteres a medida que escribe.

Hay varias formas de hacer que partes de estas funciones funcionen por separado, discutidas en este hilo del foro, pero nadie aún tiene que proporcionar una solución que brinde este método integral y fácil de usar.

Si alguien pudiera señalarme un complemento gedit donde este trabajo se está llevando a cabo activamente, tal vez podría ayudarlo a mí mismo con la codificación. Si alguien conoce un editor de texto que ya ofrece esta funcionalidad completa, agradecería la información. Ejecutar el editor carmesí a través de wine y el complemento de edición múltiple, pero no del todo, para gedit son las soluciones temporales con las que estoy 'pasando' por el momento.

ACTUALIZACIÓN (2012-11): ahora soy un usuario muy feliz de texto sublime . Admite una excelente edición en modo columna y funciona en las tres plataformas principales del sistema operativo sin ningún problema. ¡Muy recomendable!

tamal
fuente
Si está familiarizado con emacs, emacs proporciona soporte de edición de columnas a través de muchos modos, pero requiere acostumbrarse (también conocido como curva de aprendizaje). Puedo detallar si responderá a su pregunta.
koushik

Respuestas:

20

geany Instalar geanyInstalar a través del centro de software

es un entorno de desarrollo integrado que proporciona un buen soporte de edición de columnas que vale la pena consultar (un ejemplo aquí )

En pocas palabras, presione hacia abajo Alt+ en Shiftlugar de solo Shiftmientras realiza selecciones para invocar el modo de columna. Una limitación importante es que las ediciones en modo columna no se pueden deshacer (hasta ahora).

Para lograr lo mismo con el mouse, mantenga presionado Ctrlmientras selecciona. Esto realmente funciona con la mayoría de los editores basados ​​en Scintilla (incluidos SciTE y Geany).

koushik
fuente
Estoy probando Geany y trabajar con la selección de columnas es bastante agradable ... ya casi está allí. ¿Sabes si hago una selección de bloque con el mouse?
Tamale
1
Mantenga presionada la tecla Ctrl mientras selecciona con el mouse. Esto realmente funciona con la mayoría de los editores basados ​​en Scintilla (incluidos SciTE y Geany).
JanC
@ JanC - Gracias por el aporte. He actualizado mi respuesta con esto.
koushik
SciTE también está disponible en Windows y Ubuntu, lo que puede ser útil si trabaja en ambas plataformas.
Pluma de fuego
Funciona muy bien en Fedora también. Me encanta geany!
Hakre
8

Para editar columnas, uso vi / gvim. Esto llevará un poco de aprendizaje para acostumbrarse a vi, pero al final muchas personas encuentran que este es su editor preferido.

Específicamente dentro de vi puede usar CTRL-V para resaltar columnas en modo visual, luego puede editarlo como es de esperar. Lo uso todo el tiempo para agregar y eliminar comentarios, o para sangrar funciones, es decir, CTRL-V (resaltar una columna) SHIFT-I '#' ESC comentará toda esa columna.

tiburones
fuente
5

Usas el editor Eclipse. Alt+ Shift+ Adebe hacer lo que necesitas.

hudy
fuente
5

nedit Instalar nedit Instalar a través del centro de software

Yo uso NEdit todo el tiempo.

Para instalarlo usando la terminal, use el siguiente comando:

sudo apt-get install nedit

Old school (Motif) pero tiene pestañas y es ligero y simple. Tiene resaltado de contexto incluido para varios lenguajes de codificación, y se pueden agregar más. Al presionar Ctrl mientras se arrastra con el mouse, se puede seleccionar un bloque de texto. Luego puede copiar / pegar como de costumbre. No podría prescindir de esta función ahora.

usuario87299
fuente
¿Puedes seleccionar un bloque usando solo el teclado?
Iain Samuel McLean Élder
Claro, con el teclado usa Mayús + Alt + flechas. Sin embargo, no veo el tipeo de columnas (solo pegar y sangrar columnas).
kubanczyk
1

Use un gEdit con gmate y plugins. Obtendrá el TextMate de Linux.

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

Con esta modificación "leve", gEdit realmente es genial.

AndyB
fuente
Pero ... ¿gmate proporciona edición de bloque?
tutuca
Ctrl + PgDn / PgUp le permite seleccionar las filas a la vez para la edición de bloque. También puede Ctrl + clic izquierdo para seleccionar variables para editarlas a la vez.
AndyB
1
@AndyB, ¿cuál es exactamente el nombre del complemento que debe activarse? Estas teclas de acceso directo no funcionan después de instalar gmate. (Estoy usando gedit 3.4.2)
alfC
tiene gmate, pero ¿cómo hacer la selección de columna?
weima
1

Esto es posible en emacs, y es fácil si usa el modo cua. C-return marca la esquina superior izquierda del rectángulo. Luego mueva el cursor para resaltar la región rectangular.

Las características del modo de columna emacs son realmente geniales. Van mucho más allá de copiar / pegar texto rectangular. ¡Mira el video para ver una demostración de cómo editar simultáneamente todas las líneas de la columna! ¡Muy útil!

Si no desea ver el video (o no puede), aquí están los conceptos básicos:

El soporte de rectángulo superior del modo CUA se basa en el uso de una representación visual verdadera del rectángulo seleccionado. Para comenzar un rectángulo, use [S-return] y extiéndalo usando las teclas de movimiento normal (arriba, abajo, izquierda, derecha, inicio, final, C-inicio, C-final). Una vez que el rectángulo tiene el tamaño deseado, puede cortarlo o copiarlo usando Cx y Cc, y luego puede insertarlo, como un rectángulo, usando Cv. Entonces, el único comando nuevo que necesita saber para trabajar con rectángulos de modo CUA es S-return.

En Kubuntu 12.04 y emacs v24, [S-return] es CONTROL-RETURN (CTRL-ENTER) para mí.

Como ya se mencionó, Scite tiene este incorporado (no se necesitan complementos). Es muy fácil de usar. Y Scite está en los repositorios de Ubuntu.

Se pueden seleccionar bloques de texto rectangulares en SciTE manteniendo presionada la tecla Alt en Windows o la tecla Ctrl en GTK + mientras arrastra el mouse sobre el texto.

MountainX-for-Monica
fuente
0

Pegue estos comandos en la terminal

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

En uso vim:

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

ver:

 :help
SergioAraujo
fuente
0

También Notepadqq puede hacer esto: presentan brevemente la función en su página . Mantenga presionado Alt, luego mantenga presionado Ctrlo Shift, y seleccione las "columnas" que desee arrastrando (o también haciendo clic, si está presionandoCtrl ) con el mouse. Suelte los botones cuando haya terminado de seleccionar columnas y comience a editar escribiendo, usando las teclas de flecha, copiar y pegar (un clic del mouse cancelará la selección múltiple).

Los puntos que seleccione no necesitan formar una columna real, es un número arbitrario de cursores activos al mismo tiempo. Cuando copia y pega, el texto se pega cursor por cursor si el número de copias y pegados coincide, de lo contrario, cada cursor de destino obtiene una copia completa de la entrada.

Pequeñas molestias: no puede anular la selección de cursores individuales mientras mantiene los demás, y no puede usar el teclado para seleccionarlos (o al menos, no sé cómo hacerlo).

Effervescenza Naturale
fuente
0

KWrite , Kate y KDevelop también apoyan esto. Es un poco diferente en ellos, ya que el modo de edición de columnas no funciona mediante teclas modificadoras, sino como un modo que se activa y desactiva. Estos tres programas tienen un nivel de características diferente pero se basan en el mismo componente del editor.

usuario
fuente