Emacs útiles funciones

Buscar líneas duplicadas y mantener sólo la primera aparición

 uniquify-all-lines-region ( start end ) "Find duplicate lines in region START to END keeping first occurrence." ( interactive "*r" ) ( save-excursion ( let ( ( end ( copy-marker end ) ) ) ( while ( progn ( goto-char start ) ( re-search-forward "^ \\ (.* \\ ) \n \\ ( \\ (.* \n \\ )* \\ ) \\ 1 \n " end t ) ) ( replace-match " \\ 1 \n \\ 2" ) ) ) ) ) ( defun uniquify-all-lines-buffer ( ) "Delete duplicate lines in buffer and keep first occurrence." ( interactive "*" ) ( uniquify-all-lines-region ( point- min ) ( point- max ) ) ) (Defun uniquify-todas las líneas--región (extremo inicial) "Buscar líneas duplicadas en la región de principio a fin la primera aparición de mantenimiento." (Interactive "* r") (guardar-excursión (let ((finales (-marcador de fin copia)) ) (while (pronóstico (goto-char inicio) (re-search-forward "^ \ \ (.* \) \ n \ \ (\ \ (.* \ \ n \) * \ \) \ \ 1 \ n "final t)) (sustitución coinciden con" \ \ 1 \ \ n \ 2 "))))) (defun uniquify-todas las líneas--tampón () "Eliminar líneas duplicadas en el buffer y mantener aparición por primera vez." (interactivo "*") (uniquify-todas las líneas--región (punto-min) (punto máximo))) 

Así que para este búfer:
Duplicate line 1
Unique line 1
Duplicate line 1
Unique line 2
Unique line 3
Duplicate line 1
Duplicate line 2
Duplicate line 2
Unique line 4

Produce Ejecutar 'MX-uniquify todas las líneas--buffer':
Duplicate line 1
Unique line 1
Unique line 2
Unique line 3
Duplicate line 2
Unique line 4

El que mata a toda la línea en el cursor se encuentra

Si usted es un usuario, es como 'dd'. De hecho, me escribió la función porque un amigo mío me preguntó "¿por qué no tiene emacs 'dd'?" Bueno, ahora lo hace:

  kill-whole-line nil (Defun-matar a toda la línea cero
   "Toda la línea en la que mata el cursor se encuentra, y sitúa la  
  cursor tan cerca a su posición anterior como sea posible. "
   (Interactivo)
   (Pronóstico
     ( ( y ( current-column ) ) (Let ((Y (actual-columna))
	   progn ( beginning-of-line ) ( point ) ) ) (Un pronóstico ((comienzo de línea) (punto)))
	   progn ( forward-line 1 ) ( point ) ) ) ) (B (pronóstico (delantero-línea 1) (punto))))
       (-Ab región Mata)
       (Mover a la columna y)))) 

Comprobación de sintaxis de PHP

Esta función realiza una comprobación de sintaxis en las pruebas de código PHP para scripting errores.

  ;; PHP comprobar pelusa
 ;; Asume "php" se encuentra en $ PATH
 php-lint ( ) (Php defun-pelusa ()
   "Pelusa-PHP Realiza una prueba en el archivo actual".
   (Interactivo)
   concat "php -l " ( buffer-file- name ) ) ) ) (Shell y Mando (concat "php-l" (buffer-file-name)))) 

Deja una respuesta