From a9627518a51f5dc536fa22629a2da680dbc052d1 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Mon, 12 Jun 2023 19:37:49 +1000 Subject: first commit --- .emacs.d/init/ycp-editing.el | 116 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 .emacs.d/init/ycp-editing.el (limited to '.emacs.d/init/ycp-editing.el') diff --git a/.emacs.d/init/ycp-editing.el b/.emacs.d/init/ycp-editing.el new file mode 100644 index 0000000..e9c7e4c --- /dev/null +++ b/.emacs.d/init/ycp-editing.el @@ -0,0 +1,116 @@ +;;; 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 + "M-k" #'my-kill-line-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 + ) + ) + +(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) -- cgit v1.2.3