@ -8,7 +8,6 @@
- [[#main-packages ][main packages ]]
- [[#general-keybindings ][General keybindings ]]
- [[#evil-mode ][Evil Mode ]]
- [[#pojectile ][pojectile ]]
- [[#ivy ][Ivy ]]
- [[#counsel ][Counsel ]]
- [[#dired ][dired ]]
@ -17,14 +16,11 @@
- [[#perspective ][perspective ]]
- [[#anzu ][anzu ]]
- [[#doom-modeline ][doom-modeline ]]
- [[#perfect-margin ][Perfect margin ]]
- [[#neotree ][NeoTree ]]
- [[#latex-pdf ][Latex (pdf) ]]
- [[#keybinds ][KeyBinds ]]
- [[#file ][file ]]
- [[#marks--org-tangle ][marks / org tangle ]]
- [[#file-copy-file-open-file-in-dired ][file (copy file, open file in dired) ]]
- [[#bm-marks--org-tangle ][bm-marks / org tangle ]]
- [[#project--projectile ][project / projectile ]]
- [[#buffer--bookmarks--harpoon ][buffer & bookmarks & harpoon ]]
- [[#project ][project ]]
- [[#sudo-edit--code-sudo-editsplitperfect-marginjson ][Sudo Edit & code (sudo edit/split/perfect margin/json) ]]
- [[#magit ][Magit ]]
- [[#org-settings ][ORG settings ]]
@ -49,14 +45,14 @@
- [[#evil-snipe ][evil-snipe ]]
- [[#org-chckbox-hl ][org chckbox hl ]]
- [[#hl-todo ][hl-todo ]]
- [[# music][Music ]]
- [[# programs][Programs ]]
- [[#emms ][emms ]]
- [[#latex-pdf ][Latex (pdf) ]]
- [[#scripts ][scripts ]]
- [[#add-projectile-project ][add projectile project ]]
- [[#rest ][REST ]]
- [[#insert-some-text ][insert some text ]]
- [[#open-terminal ][open terminal ]]
- [[#tood ][TOOD ]]
* auto install packages
#+begin_src emacs-lisp
@ -238,15 +234,6 @@ https://github.com/emacs-evil/evil
"l l" 'evil-scroll-line-to-center)
#+end_src
** pojectile
#+begin_src emacs-lisp
(use-package projectile
:ensure t
:init
(projectile-mode +1)
:config
(setq projectile-completion-system 'ivy))
#+end_src
** Ivy
*** Setup
@ -273,8 +260,6 @@ https://github.com/emacs-evil/evil
(package-refresh-contents)
(package-install 'counsel))
;; (setq counsel-fzf-cmd "find . -type f -not -path '*/.*' 2>&1 | grep -v 'Permission denied' | fzf -f '%s'")
;; (setq counsel-fzf-cmd "find . -type f -not -path '*/.*' 2>&1 | grep -v 'Permission denied' | grep -v './env/ ' | fzf -f '%s'")
(setq counsel-fzf-cmd
(concat
"find . -type f -not -path '*/.*' 2>&1 | "
@ -301,15 +286,28 @@ https://github.com/emacs-evil/evil
** dired
*** setup
(setq dired-listing-switches "-alXGh --group-directories-first":
Определяет параметры, которые передаются команде ls для отображения содержимого директорий.
-a: Показывает все файлы, включая скрытые (начинающиеся с точки).
-l: Выводит в длинном формате, показывая дополнительные детали (размер, дата, права и т.д.).
-X: Сортирует файлы по расширению.
-G: Отключает цвета в выводе (если они поддерживаются).
-h: Показывает размеры в человекочитаемом формате (например, 1K, 234M).
--group-directories-first: Сначала отображает директории, затем файлы.
(setq dired-recursive-copies 'always):
Устанавливает режим рекурсивного копирования для dired на "всегда", что означает, что при копировании директорий все их содержимое будет скопировано рекурсивно.
(setq dired-recursive-deletes 'top):
Определяет поведение для рекурсивного удаления. Установлено на "top", что означает, что при удалении директории будет предложено удалить её содержимое (файлы и поддиректории) перед удалением самой директории.
(setq global-auto-revert-non-file-buffers t):
Включает автоматическое обновление (рефреш) буферов, не относящихся к файлам, например, таких как dired, если они изменяются на диске. Это помогает поддерживать актуальность отображаемой информации.
(setq auto-revert-verbose nil):
Отключает вывод сообщений о том, что буфер был обновлен. Это может уменьшить количество сообщений в минибуфере.
(setq dired-dwim-target t):
Включает "do what I mean" (DWIM) поведение для установки целевого пути. Это значит, что при использовании команды dired для перемещения или копирования файлов, Emacs попытается автоматически угадать, куда вы хотите переместить файлы, основываясь на контексте.
(setq wdired-allow-to-change-permissions t):
Разрешает изменять права доступа на файлы и директории в режиме wdired, который позволяет редактировать файлы в dired в текстовом режиме.
#+begin_src emacs-lisp
(require 'dired)
(defun dired-open-file-in-new-tab ()
"Open the current file in dired in a new tab."
(interactive)
(tab-new)
(dired-find-file))
(setq dired-listing-switches "-alXGh --group-directories-first"
dired-recursive-copies 'always
dired-recursive-deletes 'top
@ -320,8 +318,6 @@ https://github.com/emacs-evil/evil
#+end_src
*** открыть файл в вертикально разделенном экране
#+begin_src emacs-lisp
(defun dired-open-split-horizontal ()
@ -345,7 +341,30 @@ https://github.com/emacs-evil/evil
(evil-define-key 'normal dired-mode-map (kbd "h") 'dired-up-directory)
#+end_src
*** копировать текущий путь
*** dired subtree
#+begin_src emacs-lisp
(require 'dired-subtree)
(evil-define-key 'normal dired-mode-map (kbd "i") 'dired-subtree-insert)
(evil-define-key 'normal dired-mode-map (kbd "r") 'dired-subtree-remove)
#+end_src
*** открыть pcmanfm
#+begin_src emacs-lisp
(defun dired-open-pcmanfm ()
"Open the current directory in Dired with PCManFM."
(interactive)
(let ((current-dir (dired-current-directory)))
(start-process "nautilus" nil "nautilus" current-dir)))
(define-key dired-mode-map (kbd "C-c o") 'dired-open-pcmanfm)
#+end_src
*** функция для копирования текущего пути
#+begin_src emacs-lisp
(defun copy-current-file-path-to-clipboard ()
"Copy the current buffer file name to the clipboard."
@ -358,29 +377,7 @@ https://github.com/emacs-evil/evil
(message "Copied buffer file name '%s' to the clipboard." filename))))
#+end_src
*** dired subtree
#+begin_src emacs-lisp
(require 'dired-subtree)
(evil-define-key 'normal dired-mode-map (kbd "i") 'dired-subtree-insert)
(evil-define-key 'normal dired-mode-map (kbd "r") 'dired-subtree-remove)
(evil-define-key 'normal dired-mode-map (kbd "o") 'dired-open-file-in-new-tab)
#+end_src
*** открыть pcmanfm
#+begin_src emacs-lisp
(defun dired-open-pcmanfm ()
"Open the current directory in Dired with PCManFM."
(interactive)
(let ((current-dir (dired-current-directory)))
(start-process "pcmanfm" nil "pcmanfm" current-dir)))
(define-key dired-mode-map (kbd "C-c o") 'dired-open-pcmanfm)
#+end_src
*** dired hot keys
*** KeyBind
#+begin_src emacs-lisp
(spc-leader
"d" '(:ignore t :wk "dired")
@ -406,24 +403,28 @@ https://github.com/emacs-evil/evil
(use-package openwith
:ensure t
:config
(openwith-mode t)
;; :defer t
)
(openwith-mode t)
(setq openwith-associations
(list (list (openwith-make-extension-regexp '("pdf" "djvu"))
"atril" '(file))
(list (openwith-make-extension-regexp '("flac" "mp3" "wav"))
"vlc" '(file))
(list (openwith-make-extension-regexp '("bmp" "jpeg" "jpg" "png"))
"vimiv" '(file))
(list (openwith-make-extension-regexp '("mpv" "mkv" "mp4"))
"mpv" '(file))
(list (openwith-make-extension-regexp '("doc" "docx" "odt"))
"libreoffice" '("--writer" file))
(list (openwith-make-extension-regexp '("ods" "xls" "xlsx"))
"libreoffice" '("--calc" file))
(list (openwith-make-extension-regexp '("odp" "pps" "ppt" "pptx"))
"libreoffice" '("--impress" file))
)))
(defun activate-openwith()
(setq openwith-associations
(list (list (openwith-make-extension-regexp '("pdf" "djvu"))
"atril" '(file))
;; (list (openwith-make-extension-regexp '("flac" "mp3" "wav"))
;; "vlc" '(file))
(list (openwith-make-extension-regexp '("bmp" "jpeg" "jpg" "png"))
"vimiv" '(file))
(list (openwith-make-extension-regexp '("mpv" "mkv" "mp4"))
"mpv" '(file))
(list (openwith-make-extension-regexp '("doc" "docx" "odt"))
"libreoffice" '("--writer" file))
(list (openwith-make-extension-regexp '("ods" "xls" "xlsx"))
"libreoffice" '("--calc" file))
(list (openwith-make-extension-regexp '("odp" "pps" "ppt" "pptx"))
"libreoffice" '("--impress" file))
))
)
;; Отключить автоматическое открытие изображений в Emacs
(setq auto-mode-alist (rassq-delete-all 'image-mode auto-mode-alist))
@ -436,6 +437,8 @@ https://github.com/emacs-evil/evil
;; Добавляем хук для отключения openwith-mode в org-mode
(add-hook 'org-mode-hook 'disable-openwith-in-org-mode)
;; Добавляем хук для активации openwith-mode в dired-mode
(add-hook 'dired-mode-hook 'activate-openwith)
#+end_src
@ -486,6 +489,7 @@ https://github.com/emacs-evil/evil
#+end_src
** anzu
улучшенный интерфейс для поиска и замены текста
#+begin_src emacs-lisp
(use-package anzu
:ensure t
@ -507,15 +511,12 @@ https://github.com/emacs-evil/evil
(doom-modeline-mode 1)
#+end_src
** Perfect margin
#+begin_src emacs-lisp
(setq perfect-margin-visible-width 150)
#+end_src
** NeoTree
*** Setup
#+begin_src emacs-lisp
(use-package neotree
:init
:ensure t
:bind ("<f8 >" . neotree-toggle)
:config
@ -523,16 +524,15 @@ https://github.com/emacs-evil/evil
(setq-default neo-smart-open t)
;; Вертикальное расположение окна neotree
(setq neo-window-position 'left)
;; Активация пакетов
(use-package all-the-icons :ensure t)
(setq neo-theme (if (display-graphic-p) 'icons 'arrow))
(setq neo-window-fixed-size nil)
(setq neo-smart-open t)
(setq neo-window-width 50)
)
;; Активация пакетов
(use-package all-the-icons :ensure t)
(setq neo-theme (if (display-graphic-p) 'icons 'arrow))
(setq neo-window-fixed-size nil)
(setq neo-smart-open t)
(setq neo-window-width 50)
(add-hook 'neotree-mode-hook
(lambda ()
(define-key evil-normal-state-local-map (kbd "q") 'neotree-hide)
@ -549,28 +549,7 @@ https://github.com/emacs-evil/evil
)
#+end_src
** Latex (pdf)
#+begin_src emacs-lisp
(setq org-latex-pdf-process
'("xelatex -interaction nonstopmode %f"
"xelatex -interaction nonstopmode %f"))
#+end_src
устанавливать такой header для потдержки русского языка
#+begin_quote
#+LATEX_HEADER : \usepackage{fontspec}
#+LATEX_HEADER : \setmainfont{Noto Sans}
\begin{quote}
\textbf{-} Привет! Как дела? \\
\textbf{-} Всё хорошо, спасибо! А у тебя?
\end{quote}
#+end_quote
* KeyBinds
** file
** file (copy file, open file in dired)
#+begin_src emacs-lisp
(defun open-current-directory-in-dired ()
"Open the current directory of the current file in Dired.
@ -587,7 +566,7 @@ If a Dired buffer is already opened, navigate to that buffer."
"f o" '(open-current-directory-in-dired :wk "open in dired"))
#+end_src
** marks / org tangle
** bm- marks / org tangle
#+begin_src emacs-lisp
(spc-leader
"m" '(:ignore t :wk "marks")
@ -609,45 +588,18 @@ If a Dired buffer is already opened, navigate to that buffer."
'(bm-face ((t (:background "yellow" :foreground "black" :weight bold)))))
#+end_src
** buffer & bookmarks & harpoon
** project / projectile
*** setup projectile
#+begin_src emacs-lisp
(spc-leader
;; buffer
"b" '(:ignore t :wk "buffer")
"b i" '(ibuffer :wk "Switch ibuffer")
"b b" '(projectile-switch-to-buffer :wk "Switch buffer")
"b k" '(kill-this-buffer :wk "Kill this buffer")
;; bookmark
"b s" '(bookmark-set :wk "set bookmarks")
"b d" '(bookmark-delete :wk "delete bookmarks")
"b l" '(list-bookmarks :wk "list bookmarks")
"b j" '(bookmark-jump :wk "list jump")
"b a" '(bookmark-set :wk "bookmarks set")
"b r" '(revert-buffer :wk "Reload buffer"))
(spc-leader
"TAB" '(:ignore t :wk "?")
"TAB TAB" '(comment-line :wk "comment line")
)
(spc-leader
"h" '(:ignore t :wk "help & harpoon")
"h a" '(harpoon-add-file :wk "add to harpoon")
"h c" '(harpoon-clear :wk "harboon clear")
"h l" '(harpoon-toggle-quick-menu :wk "toggle menu")
"h m" '(harpoon-quick-menu-hydra :wk "quick menu")
"h 1" '(harpoon-go-to-1 :wk "1")
"h 2" '(harpoon-go-to-2 :wk "2")
"h 3" '(harpoon-go-to-3 :wk "3")
"h 4" '(harpoon-go-to-4 :wk "4")
"h 5" '(harpoon-go-to-5 :wk "5")
"h d" '(harpoon-delete-item :wk "delete item")
)
(use-package projectile
:ensure t
:init
(projectile-mode +1)
:config
(setq projectile-completion-system 'ivy))
#+end_src
** project
*** KeyBind
add and switch project
#+begin_src emacs-lisp
(defun projectile/open-and-switch-project (directory)
@ -682,7 +634,61 @@ hot keys
#+end_src
** buffer & bookmarks & harpoon
#+begin_src emacs-lisp
(spc-leader
;; buffer
"b" '(:ignore t :wk "buffer")
"b i" '(ibuffer :wk "Switch ibuffer")
"b b" '(projectile-switch-to-buffer :wk "Switch buffer")
"b k" '(:ignore t :wk "kill buffer")
"b k t" '(kill-this-buffer :wk "Kill this buffer")
"b k k" '(kill-buffer :wk "Kill buffer in imenu")
;; bookmark
"b s" '(bookmark-set :wk "set bookmarks")
"b d" '(bookmark-delete :wk "delete bookmarks")
"b l" '(list-bookmarks :wk "list bookmarks")
"b j" '(bookmark-jump :wk "list jump")
"b a" '(bookmark-set :wk "bookmarks set")
"b r" '(revert-buffer :wk "Reload buffer"))
(spc-leader
)
(spc-leader
"TAB" '(:ignore t :wk "?")
"TAB TAB" '(comment-line :wk "comment line")
)
(spc-leader
"h" '(:ignore t :wk "help & harpoon")
"h a" '(harpoon-add-file :wk "add to harpoon")
"h c" '(harpoon-clear :wk "harboon clear")
"h l" '(harpoon-toggle-quick-menu :wk "toggle menu")
"h m" '(harpoon-quick-menu-hydra :wk "quick menu")
"h 1" '(harpoon-go-to-1 :wk "1")
"h 2" '(harpoon-go-to-2 :wk "2")
"h 3" '(harpoon-go-to-3 :wk "3")
"h 4" '(harpoon-go-to-4 :wk "4")
"h 5" '(harpoon-go-to-5 :wk "5")
"h d" '(harpoon-delete-item :wk "delete item")
)
#+end_src
** Sudo Edit & code (sudo edit/split/perfect margin/json)
*** Perfect margin settings
#+begin_src emacs-lisp
;; (setq perfect-margin-visible-width 150)
(setq perfect-margin-visible-width 200)
#+end_src
*** KeyBind
#+begin_src emacs-lisp
(require 'sudo-edit)
(spc-leader
@ -747,6 +753,7 @@ hot keys
"o r" '(org-reset-checkbox-state-subtree :wk "reset checkboxs")
"o g" '(org-agenda :wk "org agenda")
"o m" '(eval-buffer :wk "eval buffer")
"o k" '(org-ctrl-c-minus :wk "eval buffer")
"h RET" '(org-meta-return :wk "org return (insert lists))")
)
@ -855,22 +862,25 @@ hot keys
'(line-number-current-line ((t (:foreground "white"))))) ; Цвет текущей строки
;; '(line-number ((t (:foreground "black")))) ; Цвет отображения номера строки
;; '(line-number-current-line ((t (:foreground "black"))))) ; Цвет текущей строки
;; (load-theme 'doom-1337 t)
;; (load-theme 'doom-nord t)
;; (load-theme 'doom-nord-aurora t)
;; (load-theme 'doom-nord-light t)
;; (load-theme 'doom-one-light t)
;; (load-theme 'doom-gruvbox-light t)
(load-theme 'doom-gruvbox t)
;; (load-theme 'doom-gruvbox t)
;; (load-theme 'doom-ayu-dark t)
;; (load-theme 'doom-dracula t)
;; (load-theme 'doom-tomorrow-night t)
;; (load-theme 'doom-henna t)
;; (load-theme 'doom-one t)
;; (load-theme 'doom-opera t)
;; (load-theme 'doom-monokai-pro t)
(load-theme 'doom-monokai-pro t)
;; (load-theme 'doom-spacegrey t)
;; (load-theme 'doom-tokyo-night t)
;; (load-theme 'doom-xcode t)
;; (load-theme 'doom-solarized-light t)
;; (load-theme 'doom-solarized-dark t)
;; (add-to-list 'custom-theme-load-path "~/.emacs.d/everforest-theme")
;; (load-theme 'everforest-hard-dark t)
@ -878,8 +888,17 @@ hot keys
;; (add-to-list 'custom-theme-load-path "~/.emacs.d/atom-one-dark-theme")
;; (load-theme 'atom-one-dark t)
;; (add-to-list 'custom-theme-load-path "~/.emacs.d/iceberg-theme.el")
;; (load-theme 'iceberg t)
;; (set-frame-parameter nil 'alpha-background 100)
(set-frame-parameter nil 'alpha-background 92)
;; (set-frame-parameter nil 'alpha-background 92)
(let ((al 100)) ;; Прозрачность %
(set-frame-parameter (selected-frame) 'alpha `(,al . ,al)) ;; Прозрачность для текущего фрейма
(add-to-list 'default-frame-alist `(alpha . (,al . ,al)))) ;; Прозрачность для всех новых фреймов
#+end_src
** diff
@ -900,19 +919,28 @@ hot keys
; Firacode Nerd Font
; JetBrainsMonoNL Nerd Font
(defun set-small-font-wayland ()
(interactive)
(set-face-attribute 'default nil
:font "JetBrainsMonoNL Nerd Font"
:height 110
:weight 'medium))
(defun set-small-font ()
(interactive)
(set-face-attribute 'default nil
:font "Firacode Nerd Font"
:font "JetBrainsMonoNL Nerd Font"
:height 120
:weight 'medium))
(defun set-big-font ()
(interactive)
(set-face-attribute 'default nil
:font "Firacode Nerd Font"
:font "JetBrainsMonoNL Nerd Font"
:height 150
:weight 'medium))
;; (set-small-font-wayland)
(set-small-font)
;; (set-big-font)
(spc-leader
@ -977,13 +1005,31 @@ names, e.g. #0000ff is displayed in white with a blue background.
** Nyan-mode
#+begin_src emacs-lisp
(require 'nyan-mode)
(nyan-mode +1)
;; (nyan-toggle-wavy-trail)
;; (nyan-start-animation)
(setq nyan-wavy-trail t)
(setq nyan-animate-nyancat t)
(use-package nyan-mode
:ensure t
:init
:config
(setq nyan-wavy-trail t)
(setq nyan-animate-nyancat t)
(nyan-mode 1)) ;; Включить анимацию
;; (require 'nyan-mode)
;; (nyan-mode +1)
;;
;; (defun my-nyan-cat-settings ()
;; "Set Nyan Cat settings for new frames."
;; (setq nyan-animate-nyancat t)
;; (setq nyan-wavy-trail t)
;; )
;;
;; ;; Применение настроек к уже открытому фрейму
;; (my-nyan-cat-settings)
;;
;; ;; Применение настроек для новых фреймов
;; (add-hook 'after-make-frame-functions
;; (lambda (frame)
;; (my-nyan-cat-settings)
;; (select-frame frame)
;; ))
#+end_src
** evil-snipe
@ -1012,10 +1058,21 @@ names, e.g. #0000ff is displayed in white with a blue background.
;(global-hl-todo-mode +1)
#+end_src
* Music
* Programs
** emms
#+begin_src emacs-lisp
;; Функция для отображения только названия треков в плейлисте
(defun my-emms-track-simple-description (track)
"Return a simple description of the TRACK with only the title."
(let ((name (emms-track-get track 'info-title)))
(if name
name
(emms-track-simple-description track))))
(use-package emms
:init
(setq emms-track-description-function 'my-emms-track-simple-description)
:ensure t
:config
(require 'emms-setup)
@ -1033,14 +1090,78 @@ names, e.g. #0000ff is displayed in white with a blue background.
:config
(emms-playing-time 1))
;; Горячие клавиши для управления
(global-set-key (kbd "C-c e p") 'emms)
(global-set-key (kbd "C-c e n") 'emms-next)
(global-set-key (kbd "C-c e P") 'emms-previous)
(global-set-key (kbd "C-c e s") 'emms-stop)
(global-set-key (kbd "C-c e SPC") 'emms-pause))
(with-eval-after-load 'emms
(define-key emms-playlist-mode-map (kbd "l") 'emms-seek-forward)
(define-key emms-playlist-mode-map (kbd "h") 'emms-seek-backward)
(define-key emms-playlist-mode-map (kbd "r") 'emms-repeat)
(define-key emms-playlist-mode-map (kbd "o") 'emms-pause)
(define-key emms-playlist-mode-map (kbd "C-c k") 'emms-playlist-clear)
(define-key emms-playlist-mode-map (kbd "j") 'next-line)
(define-key emms-playlist-mode-map (kbd "k") 'previous-line)
(define-key emms-playlist-mode-map (kbd "C-u") 'scroll-down-command)
(define-key emms-playlist-mode-map (kbd "C-d") 'scroll-up-command)
)
)
;; Включаем Evil mode в плейлисте EMMS
(add-hook 'emms-playlist-mode-hook 'evil-normalize-keymaps)
(spc-leader
"e" '(:ignore t :wk "music")
"e d" '(emms-add-dired :wk "add dired tree to playlist")
"e t" '(emms-add-directory-tree :wk "dir tree to playlist")
"e r" '(emms :wk "start")
"e o" '(emms-toggle-repeat-track :wk "start")
"e s" '(emms-pause :wk "stop")
"e k" '(emms-next :wk "next")
"e j" '(emms-previous :wk "previous")
;; "e w" '(emms :wk "save playlist")
"e i" '(emms-seek-forward :wk "seek-forward 10s")
"e u" '(emms-seek-backward :wk "seek-backward 10s")
)
#+end_src
** Latex (pdf)
чтобы экспорт работал кректно надо установить pygments
=pip install pygments= но для arch linux =sudo pacman -S python-pygments=
#+begin_src emacs-lisp
(setq org-latex-pdf-process
'("xelatex -interaction nonstopmode %f"
"xelatex -interaction nonstopmode %f"))
;; (setq org-latex-compiler "xelatex") ; или "lualatex"
;; (setq org-latex-pdf-process
;; '("xelatex -shell-escape -interaction nonstopmode -output-directory %o %f"
;; "xelatex -shell-escape -interaction nonstopmode -output-directory %o %f"
;; "xelatex -shell-escape -interaction nonstopmode -output-directory %o %f"))
#+end_src
#+begin_src emacs-lisp
;; ;; Использовать minted для подсветки синтаксиса при экспорте в PDF через LaTeX
;; (setq org-latex-listings 'minted)
;; ;; Добавить настройки minted в preamble
;; (setq org-latex-packages-alist '(("" "minted")))
;; ;; Настроить процесс компиляции для использования -shell-escape, необходимого для работы minted
;; (setq org-latex-pdf-process
;; '("pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"
;; "pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"
;; "pdflatex -shell-escape -interaction nonstopmode -output-directory %o %f"))
#+end_src
*** Cheat sheet
**** дефолтный header
#+begin_quote
#+LATEX_HEADER : \hypersetup{colorlinks=true, linkcolor=black} ;; убрать красную подсветку из ссылок
#+LATEX_HEADER : \usepackage{fontspec} ;; подтержка русского языка
#+LATEX_HEADER : \setmainfont{Noto Sans} ;; шрифт
#+end_quote
* scripts
** add projectile project
@ -1126,13 +1247,3 @@ names, e.g. #0000ff is displayed in white with a blue background.
"t t" '(open-term :wk "terminal")
)
#+end_src
* TOOD
1. сохронять файл при смене буфера
2. горячие клавиши для изменения размера окон
3. найти альтернативу format all
4. более быстрый python lsp
5. copilot
6. найти более подходящий спсоб работы с о шрифтами и добавить горячие клавиши для управления размерами шрифтов
7. org mod upgrade
8. протестить дерево сохранений