---
title: "#이맥스: #레지스터 활용법 §register §mark"
url: "https://notes.junghanacs.com/notes/20230119T202000"
author: "Junghan Kim"
date: "2023-01-19T20:20:00+09:00"
lastmod: "2025-03-20T00:00:00+09:00"
tags: ["emacs"]
description: "이맥스 레지스터와 마크를 북마크보다 가벼운 임시 저장소로 활용하는 감각과 쓰임을 정리한 자료."
---

> [!abstract] 이 노트에 대하여
> 
> 레지스터와 마크를 이맥스의 가벼운 임시 저장소로 활용하는 방법을 정리한다. 북마크보다 빠르게 점프하고 기억해야 할 위치를 다루는 감각을 익히기 위한 기록이다.

## BIBLIOGRAPHY

## 관련노트

-   [§evil-owl 이맥스 레지스터 마크 관리](https://notes.junghanacs.com/notes/20250320T144237) 이게 다 해결해주리라.

## 히스토리

-   2024-06-26 그래 만났다. 레지스터야
-   2023-07-05 prot 의 영상을 참고하자.

## Registers `C-x r`

[2023-01-19 Thu 16:08] 레지스터는 무엇인가? 나중에 뭔가 하려고 하는 정보를 담는 임시 공간 각 레지스터는 '캐릭터'를 가진다. p or 2 문자나 숫자이다.

자주 접근하는 것들을 보다 쉽게 하도록 돕는 것. 무엇보다? 북마크 보다.

-   `C-x r j <key>` &lt;- jump-to-register
-   consult-register

-   Inflexible



```emacs-lisp
(set-register ?2 (cons 'file "~/sync/org/workflow/IAM.org"))
(set-register ?i (cons 'file "~/sync/org/workflow/refile.org"))
```

이걸 보니 코지 이맥스에 있는 레지스터가 생각난다.

-   Flexible



```emacs-lisp
(set-register ?i (cons 'file (concat org-directory "/workflow/IAM.org")))
(set-register ?t (cons (concat me/dropbox "note/a/a.org")))
```

## insert-register - evil 키 바인딩?!

[2025-03-20 Thu 14:48]

insert-register

@user 이맥스에서 복사붙여넣기를 하려고 레지스터에 담아두려고 하는데 사용 방법?

@assistant 이맥스에서 복사 붙여넣기를 위해 레지스터를 사용하려면 다음 단계를 따르세요:

1.  **문자열을 레지스터에 저장**: `C-x r s` 를 입력하고, 저장할 문자열을 선택한 후, 레지스터 이름을 입력합니다.

2.  **레지스터에서 문자열을 가져오기**: `C-x r i` 를 입력하고, 저장한 레지스터 이름을 입력합니다.

이렇게 하면 선택한 문자열이 해당 레지스터에 저장되고, 필요할 때 다시 가져와 붙여넣을 수 있습니다. 이맥스에서는 여러 개의 레지스터를 사용할 수 있어, 복잡한 작업 시 유용합니다.

-   Citations: [1] <https://www.ibm.com/docs/ko/ssw_aix_72/d_commands/dbx.html> [2] <http://blog.naver.com/holyruby/40066340275> [3] <https://learn.microsoft.com/ko-kr/powershell/module/psreadline/about/about_psreadline?view=powershell-7.5> [4] <https://www.clien.net/service/board/cm_linux/17872382> [5] <https://jaewoongmoon.wordpress.com/2017/11/28/maltego-%EA%B8%B0%EB%B3%B8-%EC%82%AC%EC%9A%A9%EB%B2%95/>

## 이맥스에서 mark와 register의 차이는?

@assistant 이맥스에서 **mark** 와 **register** 는 모두 텍스트를 저장하고 관리하는 방법이지만, 그 용도와 사용법이 다릅니다.

-   **Mark**: 마크는 현재 커서 위치에서 시작하여 선택한 텍스트의 범위를 지정하는 데 사용됩니다. 마크를 설정하면 텍스트를 선택할 수 있으며, 이 선택된 텍스트를 복사, 잘라내기, 붙여넣기 등의 작업에 사용할 수 있습니다. 마크는 일시적으로 사용되며, 다른 창으로 이동하거나 새로운 작업을 시작하면 마크가 해제됩니다.

-   **Register**: 레지스터는 텍스트나 위치를 영구적으로 저장할 수 있는 방법입니다. 레지스터에 저장된 내용은 이맥스를 종료하더라도 유지되지 않지만, 세션 내에서는 여러 번 사용할 수 있습니다. 레지스터는 텍스트뿐만 아니라 위치나 프레임 상태도 저장할 수 있어, 복잡한 작업 시 유용합니다.

따라서, **mark** 는 일시적인 텍스트 선택에 사용되고, **register** 는 텍스트나 위치를 세션 내에서 여러 번 사용할 수 있도록 저장하는 데 사용됩니다.

-   Citations: [1] <https://docs.redhat.com/ko/documentation/red_hat_enterprise_linux/9/html-single/considerations_in_adopting_rhel_9/index>

@user evil 키바인딩에서 visual block으로 영역을 잡은 후에 insert-register하는 방법은?

@assistant Evil 모드에서 **visual block** 으로 영역을 잡은 후에 레지스터에서 텍스트를 삽입하는 방법은 다음과 같습니다:

1.  **Visual Block 모드 진입**: `C-v` 를 눌러 Visual Block 모드로 전환합니다.
2.  **영역 선택**: 이동 키를 사용하여 원하는 영역을 선택합니다.
3.  **Insert 모드 전환**: `I` 를 눌러 Insert 모드로 전환합니다.
4.  **레지스터에서 삽입**: `C-r {register}` 를 입력하여 원하는 레지스터의 내용을 삽입합니다.

이렇게 하면 선택한 영역에 레지스터의 내용이 삽입됩니다.

참고로, `Shift + Insert` 도 비슷한 효과를 낼 수 있지만, `C-r {register}` 를 사용하면 더 명확하게 레지스터의 내용을 삽입할 수 있습니다[1].

-   Citations: [1] <https://github.com/emacs-evil/evil/issues/906> [2] <https://www.epstudiossoftware.com/trying-out-vim-using-emacs-evil-mode/> [3] <https://evil.readthedocs.io/en/latest/settings.html> [4] <https://practical.li/doom-emacs/basics/vim-quick-reference/> [5] <https://github.com/noctuid/evil-guide>

## consult-register `M-#`

-   `M-'` : consult-register-store
-   M-# : consult-register-load

이게 다야? 놀라운 사실은 프롯의 닷에도 register 설정이 따로 없어졌다는 것. consult-register 로 다 커버한다는 말이다. 이정도 컨셉만 알고 마친다. 이걸로 끝난다. 사실 이게 가장 편하다.

## Spacemacs 문서
