Major edits to my fish config

This commit is contained in:
Derek Taylor
2020-11-02 18:56:51 -06:00
parent 74f5f456d1
commit 8fbacc6392
7 changed files with 484 additions and 12 deletions

View File

@@ -1,2 +1,6 @@
alias ls exa -al --color=always --group-directories-first
alias ff find-file $1
alias doomsync ~/.emacs.d/bin/doom sync
alias doomdoctor ~/.emacs.d/bin/doom doctor
alias doomupgrade ~/.emacs.d/bin/doom upgrade
alias doompurge ~/.emacs.d/bin/doom purge

View File

@@ -15,10 +15,10 @@
(map! :leader
:desc "Toggle tabs on/off"
"t c" #'centaur-tabs-local-mode)
(evil-define-key 'normal centaur-tabs-mode-map (kbd "g <right>") 'centaur-tabs-forward ; default Doom binding is 'g t'
(kbd "g <left>") 'centaur-tabs-backward ; default Doom binding is 'g T'
(kbd "g <down>") 'centaur-tabs-forward-group
(kbd "g <up>") 'centaur-tabs-backward-group)
(evil-define-key 'normal centaur-tabs-mode-map (kbd "g <right>") 'centaur-tabs-forward ; default Doom binding is 'g t'
(kbd "g <left>") 'centaur-tabs-backward ; default Doom binding is 'g T'
(kbd "g <down>") 'centaur-tabs-forward-group
(kbd "g <up>") 'centaur-tabs-backward-group)
(map! :leader
:desc "Dired"
@@ -128,6 +128,25 @@
'(font-lock-comment-face :slant italic)
'(font-lock-keyword-face :slant italic))
(require 'ivy-posframe)
(setq ivy-posframe-display-functions-alist
'((swiper . ivy-posframe-display-at-point)
(complete-symbol . ivy-posframe-display-at-point)
(counsel-M-x . ivy-display-function-fallback)
(counsel-esh-history . ivy-posframe-display-at-window-center)
(counsel-describe-function . ivy-display-function-fallback)
(counsel-describe-variable . ivy-display-function-fallback)
(counsel-find-file . ivy-display-function-fallback)
(counsel-recentf . ivy-display-function-fallback)
(counsel-register . ivy-posframe-display-at-frame-bottom-window-center)
(dmenu . ivy-posframe-display-at-frame-top-center)
(nil . ivy-posframe-display))
ivy-posframe-height-alist
'((swiper . 20)
(dmenu . 20)
(t . 10)))
(ivy-posframe-mode 1) ; 1 enables posframe-mode, 0 disables it.
(map! :leader
:desc "Ivy push view"
"v p" #'ivy-push-view
@@ -273,7 +292,17 @@
"\\ n" #'(lambda () (interactive) (find-file "/scp:derek@distrotube.net")))
(setq shell-file-name "/bin/fish"
eshell-aliases-file "~/.doom.d/aliases")
eshell-aliases-file "~/.doom.d/aliases"
eshell-history-size 5000
eshell-buffer-maximum-lines 5000
eshell-hist-ignoredups t
eshell-scroll-to-bottom-on-input t
eshell-destroy-buffer-when-process-dies t
eshell-visual-commands'("bash" "fish" "htop" "ssh" "zsh")
vterm-max-scrollback 5000)
(map! :leader
:desc "Counsel eshell history"
"e h" #'counsel-esh-history)
(defun prefer-horizontal-split ()
(set-variable 'split-height-threshold nil t)

View File

@@ -15,6 +15,8 @@
- [[#eww][EWW]]
- [[#fonts][FONTS]]
- [[#ivy][IVY]]
- [[#ivy-posframe][IVY-POSFRAME]]
- [[#ivy-keybindings][IVY KEYBINDINGS]]
- [[#line-settings][LINE SETTINGS]]
- [[#manpages][MANPAGES]]
- [[#mastodon][MASTODON]]
@@ -67,10 +69,10 @@ To use tabs in Doom Emacs, be sure to uncomment "tabs" in Doom's init.el. Displ
(map! :leader
:desc "Toggle tabs on/off"
"t c" #'centaur-tabs-local-mode)
(evil-define-key 'normal centaur-tabs-mode-map (kbd "g <right>") 'centaur-tabs-forward ; default Doom binding is 'g t'
(kbd "g <left>") 'centaur-tabs-backward ; default Doom binding is 'g T'
(kbd "g <down>") 'centaur-tabs-forward-group
(kbd "g <up>") 'centaur-tabs-backward-group)
(evil-define-key 'normal centaur-tabs-mode-map (kbd "g <right>") 'centaur-tabs-forward ; default Doom binding is 'g t'
(kbd "g <left>") 'centaur-tabs-backward ; default Doom binding is 'g T'
(kbd "g <down>") 'centaur-tabs-forward-group
(kbd "g <up>") 'centaur-tabs-backward-group)
#+END_SRC
* DIRED
@@ -247,7 +249,47 @@ Settings related to fonts within Doom Emacs:
#+END_SRC
* IVY
Ivy is a generic completion mechanism for Emacs. By default, Doom Emacs does not use 'SPC v', so the format I use for these bindings is 'SPC v' plus 'key'.
Ivy is a generic completion mechanism for Emacs.
** IVY-POSFRAME
Ivy-posframe is an ivy extension, which lets ivy use posframe to show its candidate menu. Some of the settings below involve:
+ ivy-posframe-display-functions-alist -- sets the display position for specific programs
+ ivy-posframe-height-alist -- sets the height of the list displayed for specific programs
Available functions (positions) for 'ivy-posframe-display-functions-alist'
+ ivy-posframe-display-at-frame-center
+ ivy-posframe-display-at-window-center
+ ivy-posframe-display-at-frame-bottom-left
+ ivy-posframe-display-at-window-bottom-left
+ ivy-posframe-display-at-frame-bottom-window-center
+ ivy-posframe-display-at-point
+ ivy-posframe-display-at-frame-top-center
=NOTE:= If the setting for 'ivy-posframe-display' is set to 'nil' (false), anything that is set to 'ivy-display-function-fallback' will just default to their normal position in Doom Emacs (usually a bottom split). However, if this is set to 't' (true), then the fallback position will be centered in the window.
#+BEGIN_SRC emacs-lisp
(require 'ivy-posframe)
(setq ivy-posframe-display-functions-alist
'((swiper . ivy-posframe-display-at-point)
(complete-symbol . ivy-posframe-display-at-point)
(counsel-M-x . ivy-display-function-fallback)
(counsel-esh-history . ivy-posframe-display-at-window-center)
(counsel-describe-function . ivy-display-function-fallback)
(counsel-describe-variable . ivy-display-function-fallback)
(counsel-find-file . ivy-display-function-fallback)
(counsel-recentf . ivy-display-function-fallback)
(counsel-register . ivy-posframe-display-at-frame-bottom-window-center)
(dmenu . ivy-posframe-display-at-frame-top-center)
(nil . ivy-posframe-display))
ivy-posframe-height-alist
'((swiper . 20)
(dmenu . 20)
(t . 10)))
(ivy-posframe-mode 1) ; 1 enables posframe-mode, 0 disables it.
#+END_SRC
** IVY KEYBINDINGS
By default, Doom Emacs does not use 'SPC v', so the format I use for these bindings is 'SPC v' plus 'key'.
#+BEGIN_SRC emacs-lisp
(map! :leader
@@ -478,7 +520,17 @@ Settings for the various shells and terminal emulators within Emacs.
#+BEGIN_SRC emacs-lisp
(setq shell-file-name "/bin/fish"
eshell-aliases-file "~/.doom.d/aliases")
eshell-aliases-file "~/.doom.d/aliases"
eshell-history-size 5000
eshell-buffer-maximum-lines 5000
eshell-hist-ignoredups t
eshell-scroll-to-bottom-on-input t
eshell-destroy-buffer-when-process-dies t
eshell-visual-commands'("bash" "fish" "htop" "ssh" "zsh")
vterm-max-scrollback 5000)
(map! :leader
:desc "Counsel eshell history"
"e h" #'counsel-esh-history)
#+END_SRC
* SPLITS

View File

@@ -25,7 +25,7 @@
company ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
ivy ; a search engine for love and life
(ivy +fuzzy) ; a search engine for love and life
:ui
;;deft ; notational velocity for Emacs

View File

@@ -53,6 +53,7 @@
(package! emms)
(package! emojify)
(package! evil-tutor)
(package! ivy-posframe)
(package! mastodon)
(package! md4rd)
(package! org-bullets)
@@ -60,5 +61,6 @@
(package! rainbow-mode)
(package! sublimity)
(package! tldr)
(package! virtualenvwrapper)
(package! wc-mode)
(package! writeroom-mode)