ff-multiconverter, multimedia, audio, video, linux, ubuntu ubuntu kylin, china, releases, linux terminal, ubuntu, linux, comandos, shell conky, gadgets, ubuntu, linux SpeedTest-Cli, velocidad, red, consola, terminal tag foto 6 pinta, grafica, linux, ubuntu djl, juegos, yum, synaptic, paquetes ubuntu, releases, canonical psensor, ubuntu, linux, sistema, monitor

Guía de MATE entorno de escritorio clásico y ligero: Pluma editor de texto.

Pluma es el editor de texto oficial del entorno de escritorio MATE. Si bien busca la simplicidad y la facilidad de uso, Pluma es un potente editor de texto de propósito general. Se puede utilizar para crear y editar todo tipo de archivos de texto.

Pluma cuenta con un sistema de complementos flexible que permite añadir dinámicamente nuevas funciones avanzadas a la propia Pluma.

¿Qué es Pluma?

Pluma es el editor de texto oficial de MATE. Está diseñado como un editor gráfico ligero, sencillo de utilizar y suficientemente potente para editar tanto documentos de texto normales como archivos de configuración y código fuente.

Forma parte del conjunto de aplicaciones de MATE Desktop Environment y es, conceptualmente, el sucesor de Gedit 2.x dentro del ecosistema MATE.

Su nombre hace referencia a "pluma" (pluma estilográfica), siguiendo la tradición de nombres de aplicaciones del escritorio.

Una forma sencilla de situarlo es:

                         MATE
                          │
                          ▼
                    ┌───────────┐
                    │   Pluma   │
                    │           │
                    │ Editor de │
                    │   texto   │
                    └─────┬─────┘
                          │
             ┌────────────┼────────────┐
             ▼            ▼            ▼
          archivos      código       texto
          .txt          .py          .conf
             │            │            │
             └────────────┼────────────┘
                          ▼
                     sistema de
                      archivos

Pero Pluma no es simplemente un "bloc de notas". Internamente tiene una arquitectura bastante interesante basada en GTK, un modelo de documento propio, resaltado de sintaxis, búsqueda/reemplazo, pestañas y un sistema de complementos.


1. ¿Qué problema resuelve Pluma?

Su objetivo principal es permitir trabajar con texto plano de forma gráfica.

Por ejemplo:

notas.txt
config.conf
script.sh
programa.py
index.html
style.css
README.md

Puedes abrir cualquiera de estos archivos en Pluma.

A diferencia de un procesador de textos como LibreOffice Writer, Pluma trabaja principalmente con texto sin formato.

Esto significa que si escribes:

Hola mundo
Este es un archivo de texto.

el archivo contiene esencialmente:

H o l a _ m u n d o \n
E s t e _ e s _ u n _ a r c h i v o...

y no información compleja de formato como:

fuente = Arial
tamaño = 14
negrita = true
color = azul

2. Pluma frente a un procesador de textos

Es importante distinguir:

Pluma
Procesador de textos

Texto plano
Documento enriquecido

Código fuente
Documentos formateados

Configuración
Informes visuales

Scripts
Cartas

Markdown
Documentos con estilos

Archivos .conf
.odt, .docx, etc.

Por ejemplo:

Pluma
 └── /etc/archivo.conf

es un uso natural.

Mientras que:

LibreOffice Writer
 └── informe.odt

es un uso diferente.

Pluma está mucho más cerca conceptualmente de:

nano
vim
gedit
Kate
Mousepad

que de:

LibreOffice Writer
Microsoft Word

3. Arquitectura general

Una manera útil de visualizar Pluma es:

                       PLUMA
                         │
          ┌──────────────┼──────────────┐
          │              │              │
          ▼              ▼              ▼
       GTK/GtkSource   Document       Plugins
          │              │              │
          │              │              │
          ▼              ▼              ▼
       interfaz      texto en RAM    funciones
          │              │
          └──────────────┼──────────────┘
                         ▼
                    archivo en disco

Hay una distinción fundamental:

El archivo del disco y el documento que estás editando en Pluma son dos estados diferentes.

Cuando haces:

Archivo → Abrir

Pluma lee el archivo.

El contenido pasa a memoria.

Trabajas sobre esa copia en memoria.

Cuando haces:

Archivo → Guardar

Pluma escribe el contenido de nuevo al almacenamiento.


4. El modelo documento en memoria

Supongamos que tienes:

/home/usuario/documento.txt

con:

Hola
Mundo

Cuando lo abres:

DISCO
 │
 │ lectura
 ▼
PLUMA
 │
 ▼
Documento en memoria

Puedes cambiarlo:

Hola
Mundo

a:

Hola
Mundo desde MATE

pero hasta que guardes:

Ctrl+S

el archivo original puede seguir siendo:

Hola
Mundo

Por tanto:

                  RAM
                   │
             documento editado
                   │
              Ctrl + S
                   │
                   ▼
                 DISCO

Este concepto es básico para entender cualquier editor de texto.


5. Pestañas

Pluma permite trabajar con múltiples documentos mediante pestañas.

Por ejemplo:

┌─────────────────────────────────────────────────┐
│ [config.conf] [script.sh] [README.md] [+]       │
├─────────────────────────────────────────────────┤
│                                                 │
│ #!/bin/bash                                     │
│ echo "Hola"                                     │
│                                                 │
└─────────────────────────────────────────────────┘

Cada pestaña representa un documento diferente.

Conceptualmente:

Ventana Pluma
│
├── Documento A
│
├── Documento B
│
└── Documento C

Esto permite trabajar con varios archivos sin tener que abrir una ventana independiente para cada uno.


6. Ventanas y documentos

También puedes tener varias ventanas de Pluma.

Por ejemplo:

Ventana 1
├── main.py
├── config.py
└── README.md

Ventana 2
├── servidor.conf
└── logs.txt

Esto permite separar proyectos o tareas.


7. Resaltado de sintaxis

Esta es una de las características que hacen que Pluma sea mucho más que un editor de texto básico.

Puede utilizar resaltado de sintaxis para diferentes lenguajes y formatos.

Por ejemplo, un archivo Python:

def saludar(nombre):
    print("Hola", nombre)

puede aparecer visualmente con diferentes colores para:

def          → palabra reservada
saludar      → función
nombre       → variable
"Hola"       → cadena

En un archivo Bash:

#!/bin/bash

echo "Hola"

Pluma puede distinguir:

#!/bin/bash    → comentario/directiva
echo           → comando
"Hola"         → cadena

La idea es:

texto original
      │
      ▼
analizador de sintaxis
      │
      ▼
tokens
      │
      ▼
colores/estilos

Esto no modifica el archivo.

El color es solamente una representación visual.


8. GtkSourceView

Una pieza tecnológica muy importante detrás de Pluma es GtkSourceView.

GtkSourceView proporciona componentes especializados para editores de texto basados en GTK, incluyendo funcionalidades como:

  • resaltado de sintaxis;
  • regiones de texto;
  • números de línea;
  • modos de lenguaje;
  • marcado;
  • otras capacidades de edición.

Por eso Pluma puede ofrecer funcionalidades propias de un editor de código sin convertirse en un IDE completo.

La arquitectura conceptual sería:

Pluma
  │
  ▼
GtkSourceView
  │
  ├── texto
  ├── sintaxis
  ├── estilos
  ├── números de línea
  └── navegación

9. Detección del lenguaje

Cuando abres:

programa.py

Pluma puede reconocer que se trata de Python.

Con:

script.sh

puede reconocer Bash/Shell.

Con:

archivo.html

puede reconocer HTML.

Con:

archivo.css

puede reconocer CSS.

Esto permite activar automáticamente un esquema de resaltado apropiado.

También puedes seleccionar manualmente el modo de lenguaje cuando sea necesario.


10. Números de línea

Una característica muy útil para programación es mostrar:

 1  #!/usr/bin/env python3
 2
 3  def main():
 4      print("Hola")
 5
 6  main()

Los números de línea permiten referirse fácilmente a posiciones concretas:

"El error está en la línea 42."

Esto resulta especialmente útil cuando trabajas con compiladores, intérpretes o logs.


11. Búsqueda

Pluma incorpora búsqueda de texto.

Por ejemplo, en un archivo grande puedes buscar:

localhost

y navegar entre las coincidencias.

Conceptualmente:

Documento
│
├── línea 10
├── línea 23 ← localhost
├── línea 87
├── línea 142 ← localhost
└── línea 300

La búsqueda evita tener que recorrer manualmente todo el documento.


12. Reemplazar

También puedes sustituir texto.

Por ejemplo:

localhost

por:

192.168.1.100

en un documento.

El flujo es:

Buscar
   ↓
Encontrar coincidencia
   ↓
Reemplazar
   ↓
Siguiente coincidencia

Dependiendo de la versión/configuración también puedes realizar reemplazos múltiples.


13. Búsqueda sensible a mayúsculas

Una opción habitual es distinguir:

Hola

de:

hola

Es decir:

Hola ≠ hola

cuando está activada la sensibilidad a mayúsculas/minúsculas.

Esto resulta importante en programación porque muchos lenguajes son case-sensitive.


14. Deshacer y rehacer

Pluma mantiene un historial de modificaciones.

Por ejemplo:

Estado 1
Hola

Estado 2
Hola mundo

Estado 3
Hola mundo desde MATE

Puedes retroceder:

Ctrl+Z

y volver:

Estado 2

Después puedes rehacer la operación.

Conceptualmente:

Editar
  │
  ▼
historial
  │
  ├── undo
  │
  └── redo

Esto es fundamental en cualquier editor.


15. Copiar, cortar y pegar

Pluma utiliza las operaciones tradicionales:

Ctrl+C
Ctrl+X
Ctrl+V

para:

copiar
cortar
pegar

También puedes seleccionar:

una palabra
una línea
varias líneas
un bloque de texto

y manipularlo.


16. Autoguardado y archivos modificados

Cuando modificas un documento, Pluma necesita distinguir:

archivo guardado

de:

archivo modificado

Por ejemplo:

config.conf

puede pasar a:

config.conf *

o mostrar alguna indicación equivalente de modificación según la interfaz/tema.

El asterisco representa conceptualmente:

contenido en memoria ≠ contenido en disco

Cuando haces:

Ctrl+S

se sincronizan:

RAM ↔ DISCO

17. Codificación de caracteres

Esta es una característica técnicamente muy importante.

Un archivo de texto no es simplemente "letras".

En disco se almacenan bytes.

Por ejemplo:

A

tiene una representación determinada.

Pero:

á
ñ
€
中

requieren una codificación capaz de representarlos.

Una de las más importantes actualmente es:

UTF-8

Por eso Pluma necesita manejar correctamente las codificaciones de caracteres.

Puedes encontrarte con archivos en:

UTF-8
ISO-8859-1
Windows-1252

entre otras.

Si una codificación se interpreta incorrectamente puedes obtener algo como:

España

en lugar de:

España

La gestión de codificaciones es, por tanto, fundamental para un editor de texto Linux.


18. Finales de línea

Otra característica que normalmente pasa desapercibida es el tipo de salto de línea.

Unix/Linux utiliza normalmente:

LF

Windows tradicionalmente:

CRLF

y sistemas antiguos como ciertos entornos de Macintosh utilizaban:

CR

Conceptualmente:

Linux:
línea 1\n
línea 2\n

Windows:
línea 1\r\n
línea 2\r\n

Un editor como Pluma debe ser capaz de trabajar con estas diferencias para evitar problemas al mover archivos entre sistemas.

Esto es especialmente importante para programación y scripts.


19. Guardar archivos

Cuando guardas un documento, Pluma tiene que realizar varias operaciones:

Documento en memoria
        │
        ▼
determinar codificación
        │
        ▼
determinar formato de texto
        │
        ▼
escribir bytes
        │
        ▼
archivo

El resultado es un archivo de texto que otras aplicaciones pueden leer.

Por ejemplo:

Pluma
 ↓
script.sh
 ↓
Bash
 ↓
ejecución

Pluma no interpreta el script.

Simplemente lo edita.


20. Pluma como editor de código

Aunque no es un IDE completo, Pluma resulta bastante útil para programación.

Por ejemplo:

Proyecto
├── main.py
├── config.py
├── utils.py
└── README.md

Puedes abrir los archivos en pestañas:

[main.py] [config.py] [utils.py] [README.md]

y utilizar:

  • resaltado;
  • búsqueda;
  • reemplazo;
  • indentación;
  • números de línea;
  • plugins;
  • navegación.

Pero no deberías confundirlo con un IDE como:

Visual Studio Code
PyCharm
Eclipse

Un IDE integra muchas más funciones de desarrollo.


21. Sangría e indentación

Pluma proporciona herramientas para facilitar la escritura de código estructurado.

Por ejemplo:

if usuario:
    print("Hola")

La indentación es especialmente importante en Python.

También es útil para:

Python
C
C++
Java
JavaScript
HTML
CSS
Bash

etc.


22. Espacios y tabuladores

En programación hay una diferencia entre:

TAB

y:

ESPACIOS

Pluma permite configurar aspectos relacionados con la indentación para adaptar el comportamiento del editor a las preferencias del usuario o del proyecto.

Por ejemplo:

Tab → 4 espacios

puede hacer que al pulsar Tab se inserten cuatro espacios.

Esto puede ser importante para mantener un estilo coherente.


23. Ajuste de línea

Imagina una línea enorme:

Lorem ipsum dolor sit amet consectetur adipiscing elit ...

Sin ajuste:

Lorem ipsum dolor sit amet consectetur adipiscing elit consectetur...
                                                           →

Con ajuste:

Lorem ipsum dolor sit amet consectetur adipiscing elit
consectetur adipiscing elit...

El ajuste de línea cambia cómo se visualiza el texto, pero no necesariamente introduce saltos de línea reales en el archivo.

Esta distinción es importante:

ajuste visual
     ≠
salto de línea real

24. Barra de estado

La interfaz puede mostrar información contextual del documento, como:

Línea 42, columna 17

y otra información relacionada con:

  • posición del cursor;
  • estado del documento;
  • lenguaje;
  • codificación.

Esto resulta particularmente útil para programación.


25. Ir a una línea concreta

Si un compilador dice:

error en línea 157

no quieres desplazarte manualmente por cientos de líneas.

Una función de navegación permite ir directamente a una posición concreta.

Conceptualmente:

Ctrl+L
   ↓
157
   ↓
línea 157

El nombre exacto del atajo puede variar según la versión/configuración, pero la funcionalidad de navegación por posición es una característica típica del editor.


26. Múltiples documentos

Una de las ventajas del sistema de pestañas es poder comparar archivos.

Por ejemplo:

[config.old] [config.new]

y desplazarte entre ellos.

Esto permite tareas como:

archivo original
       ↓
archivo modificado
       ↓
comparación visual

Aunque para diferencias avanzadas existen herramientas especializadas como:

diff
meld

Pluma sirve muy bien para una comparación manual básica.


27. Plugins

Una de las características más interesantes de Pluma es su arquitectura de complementos/plugins.

En lugar de incorporar absolutamente todas las funcionalidades al núcleo, ciertas capacidades pueden añadirse como extensiones.

Conceptualmente:

                    PLUMA
                      │
              ┌───────┴───────┐
              │               │
             núcleo         plugins
              │               │
              │       ┌───────┼───────┐
              │       │       │       │
              ▼       ▼       ▼       ▼
           edición   Git   terminal  otros

Esto permite mantener el editor relativamente sencillo mientras se añaden capacidades según las necesidades.


28. Ejemplos de funcionalidades mediante plugins

Dependiendo de la versión y los complementos disponibles, el ecosistema de Pluma puede proporcionar funcionalidades como:

  • navegador de archivos;
  • terminal integrado;
  • integración con sistemas de control de versiones;
  • herramientas de documentos;
  • snippets;
  • selección avanzada;
  • ejecución de comandos;
  • soporte adicional para lenguajes.

La disponibilidad exacta depende de la versión de Pluma y de los paquetes de plugins instalados.

Esto es importante porque no todas las instalaciones de MATE tienen exactamente los mismos plugins habilitados.


29. Terminal integrado

Algunas instalaciones pueden disponer de un complemento que permite abrir una terminal dentro de Pluma.

Conceptualmente:

┌──────────────────────────────────────┐
│ Pluma                                │
├──────────────────────────────────────┤
│ #!/bin/bash                          │
│ echo "Hola"                          │
│                                      │
├──────────────────────────────────────┤
│ $ ./script.sh                        │
│ Hola                                 │
└──────────────────────────────────────┘

Esto puede ser especialmente cómodo para programación.

Editas:

script.sh

y ejecutas:

./script.sh

sin abandonar el editor.


30. Sistema de snippets

Otro concepto interesante es el de fragmentos de código (snippets).

Por ejemplo, en vez de escribir repetidamente:

if __name__ == "__main__":
    main()

un sistema de snippets puede permitir insertar automáticamente una plantilla.

Conceptualmente:

abreviatura
   ↓
snippet
   ↓
código completo

Esto puede acelerar considerablemente determinadas tareas de programación.


31. Integración con Git

Dependiendo de los plugins instalados, Pluma puede ofrecer cierta integración con sistemas de control de versiones.

Por ejemplo, un proyecto:

proyecto/
├── .git/
├── main.py
├── config.py
└── README.md

puede abrirse en Pluma mientras otras herramientas gestionan Git.

Es importante distinguir:

Pluma
   ↓
edición

Git
   ↓
control de versiones

Pluma no sustituye a Git.


32. Archivos de configuración

Pluma es especialmente útil para editar archivos de configuración Linux.

Por ejemplo:

~/.bashrc
~/.profile
~/.config/...

y muchos otros archivos de texto.

Aquí aparece una característica interesante de los editores gráficos Linux:

Pluma
  │
  ├── usuario
  │
  └── permisos
          │
          ▼
      archivo

Si intentas modificar un archivo que tu usuario no puede escribir, Pluma no puede simplemente saltarse los permisos del sistema.

Esto es una propiedad de seguridad del sistema operativo.


33. Root y permisos

Supongamos:

/etc/algo.conf

pertenece a:

root:root

y tu usuario no tiene permisos de escritura.

Abrirlo con Pluma no convierte mágicamente al editor en root.

Puedes leerlo, pero guardar puede fallar.

La razón es:

Pluma
  │
  ▼
usuario actual
  │
  ▼
kernel Linux
  │
  ▼
permisos del archivo

El kernel es quien decide si puedes escribir.

Esto es una distinción importante entre:

editor gráfico

y:

privilegios del sistema

34. UTF-8 y Unicode

Pluma está pensado para trabajar en entornos modernos donde Unicode/UTF-8 es la codificación habitual.

Esto permite editar:

Español
Português
Français
Ελληνικά
Русский
中文
日本語
العربية

etc.

Pero nuevamente:

Unicode

es un estándar de caracteres, mientras:

UTF-8

es una forma concreta de codificarlos como bytes.


35. Soporte de archivos grandes

Pluma está pensado principalmente para archivos de texto de tamaño razonable.

No es buena idea asumir que es la herramienta ideal para abrir:

archivo.log

de varios gigabytes.

Para archivos gigantes pueden ser más apropiadas herramientas como:

less
tail
grep
awk
sed

Por ejemplo:

less enorme.log

o:

tail -f enorme.log

Pluma está optimizado para editar, no para analizar logs gigantescos.


36. Seguridad y archivos remotos

Pluma puede trabajar con archivos accesibles a través de las capacidades de acceso de archivos proporcionadas por el entorno GTK/GIO, dependiendo de la configuración y versión.

Esto significa que el concepto de:

archivo local

puede extenderse a recursos accesibles mediante mecanismos de escritorio.

Pero para administración remota avanzada normalmente es más apropiado utilizar:

ssh
scp
sftp
rsync

y después editar localmente o utilizar herramientas especializadas.


37. Integración con el gestor de archivos Caja

Dentro del ecosistema MATE, Caja es el administrador de archivos.

Una interacción típica sería:

Caja
 │
 │ doble clic
 ▼
archivo.txt
 │
 ▼
Pluma

Por ejemplo:

/home/usuario/documentos/notas.txt

puede abrirse desde Caja con Pluma.

Esto genera una experiencia bastante integrada:

Caja → localizar archivo
          ↓
       Pluma
          ↓
       editar
          ↓
       guardar

38. Asociación de archivos

MATE/Linux utiliza asociaciones para decidir qué aplicación debe abrir determinados tipos de archivos.

Por ejemplo:

.txt → Pluma
.py  → Pluma
.conf → Pluma

aunque las asociaciones concretas dependen de tu sistema.

Así, cuando haces doble clic sobre un archivo de texto, el escritorio puede decidir:

archivo
  ↓
MIME type
  ↓
aplicación asociada
  ↓
Pluma

39. ¿Qué es un MIME type?

Linux no siempre determina el tipo de archivo simplemente por su extensión.

Puede utilizar información MIME.

Por ejemplo:

archivo.txt

puede identificarse como:

text/plain

mientras:

archivo.html

puede identificarse como:

text/html

Esto ayuda al escritorio a decidir qué aplicación utilizar.


40. Interfaz gráfica

La interfaz de Pluma sigue una filosofía tradicional de aplicaciones GTK.

Normalmente encontramos:

┌─────────────────────────────────────────────────┐
│ Archivo  Editar  Ver  Buscar  Herramientas ... │
├─────────────────────────────────────────────────┤
│ [Nuevo] [Abrir] [Guardar] ...                   │
├─────────────────────────────────────────────────┤
│  1  #!/usr/bin/env python3                      │
│  2                                             │
│  3  print("Hola")                              │
│  4                                             │
│  5                                             │
├─────────────────────────────────────────────────┤
│ Línea 3, Columna 12      Python       UTF-8    │
└─────────────────────────────────────────────────┘

La interfaz busca ser familiar para usuarios de editores gráficos tradicionales.


41. Menús principales

Dependiendo de la versión, normalmente encontrarás funciones agrupadas alrededor de:

Archivo
Editar
Ver
Buscar
Herramientas
Ayuda

Desde ahí se accede a operaciones como:

Nuevo
Abrir
Guardar
Guardar como
Cerrar

Espero que esta publicación te haya gustado. Si tienes alguna duda, consulta o quieras complementar este post, no dudes en escribir en la zona de comentarios. También puedes visitar Facebook, Twitter, Linkedin, Instagram, Pinterest y Feedly donde encontrarás información complementaria a este blog. COMPARTE EN!

0 comments:

No insertes enlaces clicables, de lo contrario se eliminará el comentario. Si quieres ser advertido via email de los nuevos comentarios marca la casilla "Notificarme". Si te ayudé con la publicación o con las respuestas a los comentarios, compártelo en Facebook, Twitter, Tumblr, Google +, Pinterest o Instagram. Gracias.