Most of my code has changed a lot recently. Check updated posts.
For each post can update code listed in that post. Keep in mind code for linux and wsl configs will have their own posts, except in the case of .early-init and init.el, which have system switches (to load system specific dot-files).
Also note: abandoned convention of listing init lines. Now if you want to find the code, and there is now plenty of decent emacs code, use the search function. The site is not large.
:config;; Allow cross-buffer 'next'
;; where to store persistant files
;; save bookmarks
;; Loading the repository from file when on start up.
;; Saving bookmarks
;; Saving the repository to file when on exit.;; kill-buffer-hook is not called when Emacs is killed, so we;; must save all bookmarks first.
;; Restoring bookmarks
;; Make sure bookmarks is saved before check-in (and revert-buffer)
;the two functions that make bm-bookmark worth it.
(-map (lambda (bm)
(let* ((line (replace-regexp-in-string"\n$"""
;; line numbers start on 1
(line-num (+1 (count-lines (point-min) (overlay-startbm))))
(name (format"%s:%d - %s" (buffer-name) line-numline)))
(let* ((bm-list (poseidon/bm-counsel-get-list (bm-overlays-lifo-ordert)))
(search-list (-map (lambda (bm) (carbm)) bm-list)))
(-eachbm-list (lambda (bm)
(puthash (carbm) (cdrbm) bm-hash-table)))
(ivy-read"Find bookmark: "search-list:require-matcht:keymapcounsel-describe-map:action (lambda (chosen)
(let ((bookmark (gethashchosenbm-hash-table)))
;(global-unset-key (kbd "<C-tab>"))
(global-set-key (kbd"M-j") 'bm-toggle)
(global-set-key (kbd"C-c j") 'poseidon/bm-counsel-find-bookmark)
(global-set-key (kbd"C-c ,") 'bm-previous)
(global-set-key (kbd"C-c .") 'bm-next)
);end bm bookmarks
BM Bookmark is useful for session local bookmarks. You can open a tabbed frame with files you want to use in your session, then bookmark them for the session and open another frame with a quad window layout. In your quad window layout you can bring in whatever file you want into whatever window you want. Find a medium between this setup, winner-mode, and shackle.
Dropped helm-bookmark and helm-addressbook, added helm-firefox-bookmarks to helm-chrome-bookmarks
(setqbm-bookmarks-title (with-faicon"book""Visual Bookmarks Command"))
(pretty-hydra-definebm-bookmarks (:titlebm-bookmarks-title:quit-key"q":colorpink )
("J"bm-toggle"Set/unset session bkmrk")
("p"bm-previous"Open in new buffer")
);end theme"Bkmark Remove"
("a"bm-show-all"List session bkmarks")
("A"bm-show"List session bkmarks in buffer")
("g"bm-show-goto-bookmark"Jmp to bkmrk from list")
("r"bm-remove-all-current-buffer"Remove buffer session bkmrks ")
("R"bm-remove-all-all-buffers"Remove all sesssion bkmrks")
("c"bm-toggle-cycle-all-buffers"Cycle All Buffer Bkmarks")
);end highlighting"Bkmark Repo"
("P"bm-toggle-buffer-persistence"Toggle Bm Persistance")
("S"bm-buffer-save-all"Bm Save session bmkrks")
("+"bm-repository-add"Bm Add Repo")
("L"bm-repository-load"Bm Load Repo")
("C"bm-repository-clear"Bm Clear Repo")
("$"bm-repository-save"Bm Save Repo")
("h"hydra-helm/body"Return To Helm":colorblue )
);end hydra body
Original Post Below
Jumping To Directories In Emacs
If you want to accomplish things efficiently with your computer, you will benefit from mastering a text editor. I use emacs as a general project manager for web development, writing, and organizing thoughts, materials, and actions. Jumping to and from directories and files enables quickly me to get things done more efficiently. To do this I use a few different packages and functions. They are:
File-find functions: Helm-find, Better-helm, Ido-find etc.
Bookmarks is a package built into emacs. I use it the most. Projectile is a package you add to your emacs configuration. I use projectile a lot as well. It's more useful if you have really large projects with a lot of files in them. If I cover projectile, I'll do it at another time.Org-capture is absolutely amazing. I literally use it every 8 minutes. I absolutely love it. I'll discuss it at another time. Hardwired jumps (that's what I call them) are just calls to dired mode with a path added to a function and triggered through an interface. I use those in a few hydras and there are a few packages that use them as well (like easy-hugo, for example). The find-file functions and dired mode are similar. They are calls you make from the minibuffer to bring up searches. If I do another post about finding files in emacs I'll discuss those as well.
I call the bookmark functions through a bookmark hydra. It has in it chrome bookmarks, helm-address-bookmark (which is just basically bookmarks with another name), and bookmarks. Chrome bookmarks enable you to access your web bookmarks from within emacs. The other bookmarks jump you to a directory or file. You set the bookmark, then jump to it. You can set the functions to a shortcut if you like. I just add them to my hydra network. Here's an image of the bookmarks and some configuration code.
Helm bookmarks I think you have to download to your path and require. You can get the file here: Helm Bookmarks I add all paths to variables in one early section of my configuration. That way they are easy to change. Later I require the file from the path.
This kind man didn't invent the term scientist so you could make a mockery of earthly geometrics! He did it because science is badass, just like him. Taking science seriously is the first step to better health and a better world for all. You can take that first step here.
"We need very much a name to describe a cultivator of science in general. I should incline to call him a Scientist." ~ William Whewell.
Seriously though, most of our sciency posts are really about computer science, namely Emacs - but don't be swayed by the Old-Skoolers. If you're choosing a text editor for the first time, Emacs is dead.
Having said all that, we use Emacs, and around here, the Earth is round.