;;; ycp-editing.el -- My config for editing -*- lexical-binding: t -*- ;; Copyright (C) 2023 Free Software Foundation. ;; Author: Yuchen Pei ;; Protesilaos Stavrou ;; Maintainer: Yuchen Pei ;; Package-Requires: ((emacs "28.2")) ;; This file is part of dotfiles. ;; dotfiles is free software: you can redistribute it and/or modify it under ;; the terms of the GNU Affero General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; dotfiles is distributed in the hope that it will be useful, but WITHOUT ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General ;; Public License for more details. ;; You should have received a copy of the GNU Affero General Public ;; License along with dotfiles. If not, see . ;;; Commentary: ;; My config for editing. ;;; Code: ;; line wrap at window edge (set-default 'truncate-lines nil) (setq kill-do-not-save-duplicates t) (setq bidi-inhibit-bpa t) (setq save-interprogram-paste-before-kill t) (setq kill-ring-max 200) (my-package my-editing (:delay 5) (my-keybind global-map "C-k" #'my-kill-forward "M-k" #'my-kill-backward "M-w" #'my-copy-line-or-region "C-o" #'my-new-line-above-or-below "C-<" #'my-escape-url-dwim "M-'" #'my-insert-pair "M-\\" #'my-delete-pair-dwim "M-Z" #'my-zap-back-to-char "C-x C-t" #'my-transpose-lines "M-`" #'my-buffer-create-scratch "C-M-;" #'my-comment-and-copy-selection "M-Q" #'my-unfill-paragraph "C-x M-s" #'my-save-without-formatting "C-x w" #'my-copy-url-at-point "C-" #'my-backward-kill-path-component "C-w" #'my-kill-region-if-active "C-c r " #'my-replace-leading-space "C-c r " #'my-concat-lines "C-M-y" #'my-yank-primary "C-a" #'my-beginning-of-line-or-indentation "M-c" #'my-copy-buffer-file-name ; override capitalize ) (electric-pair-mode) ) (setq viper-mode nil) (my-package viper (:delay 60)) (define-key global-map [f2] 'revert-buffer) (define-key global-map (kbd "C-c r r") 'replace-regexp) (define-key global-map (kbd "C-c r s") 'replace-string) (my-keybind global-map "M-o" #'delete-blank-lines ; alias for C-x C-o "M-SPC" #'cycle-spacing "M-z" #'zap-up-to-char ; NOT `zap-to-char' "" #'backward-kill-sexp ) (my-package pyim (:delay 30) (:install t)) ;;;; Auto revert mode (setq auto-revert-verbose t) (global-auto-revert-mode 1) ;;;; Delete selection (delete-selection-mode 1) ;;;; Tabs, indentation, and the TAB key (setq-default tab-always-indent 'complete tab-first-completion 'word-or-paren-or-punct ; Emacs 27 tab-width 2 indent-tabs-mode nil) (define-key global-map [f12] 'display-line-numbers-mode) ;; show column number (column-number-mode t) (define-key global-map (kbd "C-x F") 'my-sudo-find-file) ;; find file (ffap-bindings) (put 'narrow-to-region 'disabled nil) (setq large-file-warning-threshold 15000000) (add-hook 'text-mode-hook #'turn-on-auto-fill) (add-to-list 'auto-mode-alist '("\\(README\\|CHANGELOG\\|COPYING\\|LICENSE\\)\\'" . text-mode)) (provide 'ycp-editing)