denote ๋ฉ๋ด์ผ ํ๊ธ
** 13.5. Use dired-virtual-mode
for arโฆ
๊ทธ๋ ์ด๋ ๊ฒ ์ฌ์ฉํ๋ ๊ฒ์ด๊ตฌ๋. ์ฝ๋ค. ์ข๋ค.
* 7. Linking notes โฆ
๋ ธํธ ์ฐ๊ฒฐ ๋ฐฉ๋ฒ ๊ด๋ จ
.gitmodules
[submodule โplugins/ffmpeg-cropโ]
์ฌ๊ธฐ ๋ณด๋ฉด ๊ทํ ์คํ์ผ ์ด๋ป๊ฒ ๊ทธ๋ ๊ฒ ์์๊ฒ ์คํฌ๋ฆฐ์ท์ ํ๋๊ฐ? ๋ฐฐ์์ผํ ๋ถ๋ถ์ด๋ค.
[submodule โplugins/ffmpeg-cropโ] path = plugins/ffmpeg-crop url = git@github.com:karthink/ffmpeg-crop.git [submodule โplugins/inkโ] path = plugins/ink url = git@github.com:karthink/ink.git [submodule โplugins/elmoโ] path = plugins/elmo url = git@github.com:karthink/elmo.git [submodule โplugins/popperโ] path = plugins/popper url = git@github.com:karthink/popper.git [submodule โplugins/consult-dirโ] path = plugins/consult-dir url = git@github.com:karthink/consult-dir.git [submodule โplugins/project-xโ] path = plugins/project-x url = git@github.com:karthink/project-x.git
Why and How I Use โOrg-modeโ for My Writing and More
๊ทธ ์ฌ์ ๊ถ์ ์ธ๊ด ์๋์๋ ์๋ง๋ /๊ฐ์ฅ/๊ฐ์ฅ ์ โฆ
https://emacspeak.sourceforge.net/
Ref: Emacs Org-mode - a system for note-taking and project planning by Carsten Dominik, the inventor of org-mode. The video was curated by TV Raman, a blind-since-childhood programmer, who uses org-mode and who also created โEmacspeakโ - Emacs for the Blind. For the more fortunate of us, though some Emacs default settings are weird, and though muc of the language to explain Emacs is annoyingly crufty and old, it may be worth adapting to the oddities. Honestly, one doesnโt need to learn much to derive use out of Emacs org-mode. That said, if you want all the familiarity of your Mouse and keyboard shortcuts, then by all means configure Emacs to fit your needs. That is its forte! Many โstarter kitsโ are available, to remove the burden of figuring out how to do so. mousemacs seems to be quite nice. Hit me up if you need help setting it up ( weblog at this site)!
์ฐธ๊ณ : https://www.youtube.com/watch?v=oJTwQvgfgMM[Emacs ์กฐ์ง ๋ชจ๋ - ๋ฉ๋ชจ ์์ฑ ๋ฐ ํ๋ก์ ํธ ๊ณํ์ ์ํ ์์คํ ]], ์กฐ์ง ๋ชจ๋์ ๋ฐ๋ช ๊ฐ์ธ Carsten Dominik ์ ๊ธ์ ๋๋ค. ์ด ๋์์์ ์ด๋ฆด ์ ๋ถํฐ ์๊ฐ ์ฅ์ ๊ฐ ์๋ ํ๋ก๊ทธ๋๋จธ๋ก, org-mode ๋ฅผ ์ฌ์ฉํ๋ฉฐ ์๊ฐ ์ฅ์ ์ธ์ ์ํ Emacs ์ธ โEmacspeakโ๋ ๋ง๋ TV Raman ์ด ํ๋ ์ดํ ํ์ต๋๋ค. ์ด์ด ์ข์ ์ฌ๋์ด๋ผ๋ฉด ์ผ๋ถ Emacs ๊ธฐ๋ณธ ์ค์ ์ด ์ด์ํ๊ณ Emacs ๋ฅผ ์ค๋ช ํ๋ ๋ง์ ์ธ์ด๊ฐ ์ฑ๊ฐ์๊ณ ์ค๋๋์์ง๋ง ์ด์ํ ์ ์ ์ ์ํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ์์งํ Emacs ์กฐ์ง ๋ชจ๋๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๋ง์ ๊ฒ์ ๋ฐฐ์ธ ํ์๋ ์์ต๋๋ค. ์ฆ, ๋ง์ฐ์ค์ ํค๋ณด๋ ๋จ์ถํค์ ๋ชจ๋ ์น์ ํจ์ ์ํ๋ค๋ฉด ๋ฐ๋์ ํ์์ ๋ง๊ฒ Emac ์ ๊ตฌ์ฑํ์ญ์์ค. ๊ทธ๊ฒ์ด ์ด ๋งฅ์ ์ฅ์ ์ ๋๋ค! ๋ค์ํ โ์คํํฐ ํคํธโ๊ฐ ์ ๊ณต๋๋ฏ๋ก ๋ฐฉ๋ฒ์ ์์๋ด์ผ ํ๋ ๋ถ๋ด์ ๋ ์ ์์ต๋๋ค. https://github.com/corvideon/mousemacs[๋ง์ฐ์ค๋งฅ์ค]]๊ฐ ๊ฝค ๊ด์ฐฎ์ ๊ฒ ๊ฐ์ต๋๋ค. ์ค์ ํ๋ ๋ฐ ๋์์ด ํ์ํ๋ฉด ์ ์๊ฒ ์ฐ๋ฝํ์ธ์ (์ด ์ฌ์ดํธ์ weblog)!
My Emacs Keybindings
ํค๋ฐ์ธ๋ฉ ์ค์ ํ์ผ์ ๋ํ์ฌ (๋ฒ์ญ)
About this file
In the same way Emacs is the heart of my dotfiles, this file right here is the โheartโ of my Emacs config. It has been split from my full config (which can be found here but you probably knew that already and came to this section from that file) because it is large enough to fit in its own file and there is no need for it to be in the main file and make that unnecessarily larger. This file tangles to keybindings.el in my libs folder (which stores all the extrnal elisp โlibrariesโ that I have manually installed without the use of MELPA) and this makes this essentially act as an external emacs package. I can require it inside my main config file, which tangles to init.el and everything set in this file will be loaded with Emacs. It consists of all the custom keybindings I have set for Emacs. And there are a lot of those as I personally am not a fun of the default Emacs keybindings as the control key is not in an ergonomic position to click (and personally I dont like the solution of making Caps-Lock act as control as I am then going to become an addict and will be unable to use a computer that doesnt have Caps Lock bound as Control) and I also just like using my keybindings cause they make more sense for me (as I thought of all of them).
Emacs๊ฐ ์ ๋ทํ์ผ์ ํต์ฌ์ธ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ๋ฐ๋ก ์ฌ๊ธฐ ์ด ํ์ผ์ ์ Emacs ๊ตฌ์ฑ์ โํต์ฌโ์ ๋๋ค. ์ด ํ์ผ์ ์์ฒด ํ์ผ์ ๋ค์ด๊ฐ ๋งํผ ์ถฉ๋ถํ ํฌ๊ณ ๋ฉ์ธ ํ์ผ์ ๋ฃ์ด์ ๋ถํ์ํ๊ฒ ํฌ๊ฒ ๋ง๋ค ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ์ฒด ๊ตฌ์ฑ(์ฌ๊ธฐ์์ ์ฐพ์ ์ ์์ง๋ง ์ด๋ฏธ ์๊ณ ๊ณ์ ์ ํด๋น ํ์ผ์์ ์ด ์น์ ์ผ๋ก ์ค์ จ์ ๊ฒ์ ๋๋ค)์์ ๋ถ๋ฆฌ๋์์ต๋๋ค. ์ด ํ์ผ์ ๋ด libs ํด๋(MELPA๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์๋์ผ๋ก ์ค์นํ ๋ชจ๋ ์ธ๋ถ elisp โ๋ผ์ด๋ธ๋ฌ๋ฆฌโ๋ฅผ ์ ์ฅํ๋ ํด๋)์ keybindings.el์ ์์ผ ์์ผ๋ฏ๋ก ๊ธฐ๋ณธ์ ์ผ๋ก ์ธ๋ถ emacs ํจํค์ง์ฒ๋ผ ์๋ํฉ๋๋ค. ๊ธฐ๋ณธ ๊ตฌ์ฑ ํ์ผ์ ์ด ํ์ผ์ ์๊ตฌํ ์ ์์ผ๋ฉฐ, ์ด ํ์ผ์ ์ค์ ๋ ๋ชจ๋ ๊ฒ์ด init.el์ ์ฐ๊ฒฐ๋๊ณ ์ด ํ์ผ์ ์ค์ ๋ ๋ชจ๋ ๊ฒ์ด Emacs์ ํจ๊ป ๋ก๋๋ฉ๋๋ค. ์ด ํ์ผ์ ์ ๊ฐ ์ค์ ํ ๋ชจ๋ ์ฌ์ฉ์ ์ง์ ํค ๋ฐ์ธ๋ฉ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ ๋ ๊ฐ์ธ์ ์ผ๋ก ์ ์ด ํค๊ฐ ์ธ์ฒด ๊ณตํ์ ์ผ๋ก ํด๋ฆญํ ์ ์๋ ์์น์ ์์ง ์๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ Emacs ํค ๋ฐ์ธ๋ฉ์ ์ข์ํ์ง ์์ผ๋ฉฐ(๊ฐ์ธ์ ์ผ๋ก Caps-Lock์ ์ ์ด๋ก ์๋ํ๊ฒ ํ๋ ์๋ฃจ์ ์ ์ค๋ ์๊ฐ ๋์ด Caps Lock์ด ์ ์ด๋ก ๋ฐ์ธ๋ฉ๋์ง ์์ ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ง์์ ๋ค์ง ์์ต๋๋ค) ๋ํ ์ ๊ฐ ์๊ฐํ ๋ชจ๋ ํค๊ฐ ์ ์๊ฒ ๋ ์ ํฉํ๊ธฐ ๋๋ฌธ์ ์ ํค ๋ฐ์ธ๋ฉ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ง์์ ๋ญ๋๋ค.
I use a setup, inspired to an extent by what Spacemacs (the first Emacs โdistributionโ I ever used), but in some ways they are different. The two most important modifier/leader keys in this config are Space (abbreviated as SPC in the rest of the file) and the comma key โ,โ. Space is used for the more general keybindings which are active in every buffer if it is in normal mode. Comma is for buffer specific commands and since the only major mode I use a lot which has enough commands for me to be interested in setting this up is org, comma essentially stands for org mode commands. Its only active if the bufferโs major mode is org and it is also in normal mode. I manage these with general.el, an excellent package for managing your custom keybindings. I also enable which-key mode globally so that I can see which keys I can press to follow a leader key and what action they will do (its probably one of the most useful emacs packages and I cannot comprehend why its not enabled by default in Emacs).
์ ๋ ์คํ์ด์ค๋งฅ(์ ๊ฐ ์ฒ์ ์ฌ์ฉํ Emacs โ๋ฐฐํฌํโ)์์ ์ด๋ ์ ๋ ์๊ฐ์ ์ป์ ์ค์ ์ ์ฌ์ฉํ์ง๋ง, ๋ช ๊ฐ์ง ๋ฉด์์ ๋ค๋ฆ ๋๋ค. ์ด ์ค์ ์์ ๊ฐ์ฅ ์ค์ํ ๋ ๊ฐ์ง ์์ ์/๋ฆฌ๋ ํค๋ ์คํ์ด์ค(ํ์ผ์ ๋๋จธ์ง ๋ถ๋ถ์์๋ SPC๋ก ์ฝ์นญ)์ ์ผํ ํค โ,โ์ ๋๋ค. ์คํ์ด์ค๋ ์ผ๋ฐ ๋ชจ๋์ธ ๊ฒฝ์ฐ ๋ชจ๋ ๋ฒํผ์์ ํ์ฑํ๋๋ ๋ณด๋ค ์ผ๋ฐ์ ์ธ ํค ๋ฐ์ธ๋ฉ์ ์ฌ์ฉ๋ฉ๋๋ค. ์ผํ๋ ๋ฒํผ๋ณ ๋ช ๋ น์ ์ํ ๊ฒ์ด๋ฉฐ, ์ ๊ฐ ์ด ์ค์ ์ ๊ด์ฌ์ ๊ฐ์ง ๋งํผ ์ถฉ๋ถํ ๋ช ๋ น์ด ์๋ ์ ์ผํ ์ฃผ์ ๋ชจ๋๋ org ๋ชจ๋์ด๋ฏ๋ก ์ผํ๋ ๊ธฐ๋ณธ์ ์ผ๋ก org ๋ชจ๋ ๋ช ๋ น์ ์๋ฏธํฉ๋๋ค. ๋ฒํผ์ ์ฃผ ๋ชจ๋๊ฐ org์ด๊ณ ์ผ๋ฐ ๋ชจ๋์ธ ๊ฒฝ์ฐ์๋ง ํ์ฑํ๋ฉ๋๋ค. ์ ๋ ์ฌ์ฉ์ ์ง์ ํค ๋ฐ์ธ๋ฉ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ํ๋ฅญํ ํจํค์ง์ธ general.el๋ก ์ด๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ๋ํ ์ด๋ค ํค ๋ชจ๋๋ฅผ ์ ์ญ์ ์ผ๋ก ํ์ฑํํ์ฌ ์ด๋ค ํค๋ฅผ ๋๋ฌ ๋ฆฌ๋ ํค๋ฅผ ๋ฐ๋ผ๊ฐ ์ ์๊ณ ์ด๋ค ์์ ์ ์ํํ ์ ์๋์ง ํ์ธํ ์ ์์ต๋๋ค(๊ฐ์ฅ ์ ์ฉํ ์๋งฅ ํจํค์ง ์ค ํ๋์ด๋ฉฐ ์ ์๋งฅ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ง ์์์ง ์ดํดํ ์ ์์ต๋๋ค).
General has integration with which-key, so for some functions whose names I find not so self descriptive, I have a which-key statement, which gives me a special message instead of the command name for those commands. I can also nest leader keys inside other leader keys creating some larger โkey-chordsโ using general. Those are for a group of commands, which have similar functionalities but differ in something. For example SPC c is for calendar commands (using the calfw.el package) while SPC r is for Org-Roam commands and commands about reference material. If you add the nested leader key to the original leader keyโs list of actions and set it to :ignore t as I have done below, you can set a which-key statement which describes what that leader key is about.
์ผ๋ฐ ํค๋ ์ด๋ค ํค์ ํตํฉ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ด๋ฆ์ด ๋ช ํํ์ง ์์ ์ผ๋ถ ํจ์์ ๊ฒฝ์ฐ ์ด๋ค ํค ๋ฌธ์ ์ฌ์ฉํ์ฌ ํด๋น ๋ช ๋ น์ ๋ช ๋ น ์ด๋ฆ ๋์ ํน๋ณํ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค. ๋ํ ์ผ๋ฐ ํค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ๋ ํค๋ฅผ ๋ค๋ฅธ ๋ฆฌ๋ ํค ์์ ์ค์ฒฉ์์ผ ๋ ํฐ โํค-์ฝ๋โ๋ฅผ ๋ง๋ค ์๋ ์์ต๋๋ค. ์ด๋ ๊ธฐ๋ฅ์ ๋น์ทํ์ง๋ง ๋ค๋ฅธ ์ ์ด ์๋ ๋ช ๋ น ๊ทธ๋ฃน์ ์ํ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด SPC c๋ ์บ๋ฆฐ๋ ๋ช ๋ น(calfw.el ํจํค์ง ์ฌ์ฉ)์ ์ํ ๊ฒ์ด๊ณ SPC r์ Org-Roam ๋ช ๋ น ๋ฐ ์ฐธ์กฐ ์๋ฃ์ ๋ํ ๋ช ๋ น์ ์ํ ๊ฒ์ ๋๋ค. ์ค์ฒฉ๋ ๋ฆฌ๋ ํค๋ฅผ ์๋ ๋ฆฌ๋ ํค์ ์์ ๋ชฉ๋ก์ ์ถ๊ฐํ๊ณ ์๋์์ ํ ๊ฒ์ฒ๋ผ :๋ฌด์ t๋ก ์ค์ ํ๋ฉด ํด๋น ๋ฆฌ๋ ํค์ ๋ด์ฉ์ ์ค๋ช ํ๋ which-key ๋ฌธ์ ์ค์ ํ ์ ์์ต๋๋ค