diff --git a/configs/init-functions.el b/configs/init-functions.el index 5085ff2..2961cee 100644 --- a/configs/init-functions.el +++ b/configs/init-functions.el @@ -102,7 +102,7 @@ If PROJECT is not specified, assume current project root." (rename-buffer new-name)))) ;; Copiar el nombre del archivo actual -(defun copy-file-name () +(defun copy-filename () "Copy the current buffer file name to the clipboard." (interactive) (let ((filename (if (equal major-mode 'dired-mode) @@ -114,6 +114,18 @@ If PROJECT is not specified, assume current project root." (message "Copied '%s'" filename)) (warn "Current buffer is not attached to a file!")))) +(defun copy-basename () + "Copy the current buffer basename to the clipboard." + (interactive) + (let ((filename (if (equal major-mode 'dired-mode) + default-directory + (file-name-nondirectory (buffer-file-name))))) + (if filename + (progn + (kill-new filename) + (message "Copied '%s'" filename)) + (warn "Current buffer is not attached to a file!")))) + ;; Verifica si se puede levantar un childframe (defun childframe-workable-p () "Whether childframe is workable." @@ -127,12 +139,12 @@ If PROJECT is not specified, assume current project root." "Check if font with FONT-NAME is available." (find-font (font-spec :name font-name))) -(defun insert-full-filename () +(defun insert-filename () "Insert the full path file name into the current buffer." (interactive) (insert (buffer-file-name))) -(defun insert-filename-only () +(defun insert-basename () "Insert the filename (without path) into the current buffer." (interactive) (insert (file-name-nondirectory (buffer-file-name)))) diff --git a/configs/init-keys.el b/configs/init-keys.el index 8df2229..7cd1dbf 100644 --- a/configs/init-keys.el +++ b/configs/init-keys.el @@ -35,8 +35,10 @@ (define-key global-map "\M-]" 'forward-paragraph) ;; Insertar nombre del archivo -(global-set-key (kbd "C-c ff") 'insert-full-filename) -(global-set-key (kbd "C-c fo") 'insert-filename-only) +(global-set-key (kbd "C-c ff") 'insert-filename) +(global-set-key (kbd "C-c fb") 'insert-basename) +(global-set-key (kbd "C-c fcf") 'copy-filename) +(global-set-key (kbd "C-c fcb") 'copy-basename) ;; Deactivar el abrir *messages* al cliquear en el minibuffer (define-key minibuffer-inactive-mode-map [mouse-1] #'ignore)