elsa in mac

nvim - Neorg의 링크(Link) 표시 설정 방법 본문

Terminal

nvim - Neorg의 링크(Link) 표시 설정 방법

elsa in mac 2023. 12. 29. 01:15

nvim의 Neorg에서 web URL 이나, 문서 내 링크를 작성할 경우 그 형식은 아래와 같습니다. 

{https://www.github.com}[github 홈페이지]

.

위와 같이 작성된 링크는 nvim의 옵션 설정에 따라, 보여지는 결과가 사뭇 달라지게 됩니다. 어떻게 보여 질 것인지와 관련된 옵션은 concellevel과 concealcursor 두 옵션의 값에 따라 달라지는데, 우선 기본 값인 concellevel = 0 와 concealcursor="" 에서는 아래와 같이 그대로 노출된 상태로 표시가 됩니다.

다음, concellevel 만, 2로 변경을 하게 되면, 아래와 같이 커서라인이 해당 라인에 진입하면 소스링크가 보이고, 벗어나면 대체 택스트만 나타나게 됩니다. 이 모드가 좋다면, 이렇게만 설정하면 됩니다. 

마지막으로, conceallevel = 2, concealcursor="n" 이렇게 설정을 하게 되면, 아래와 같이 커서라인이 해당 라인에 진입해도 링크정보가 나타나지 않게 됩니다. 단!!!, Insert 모드로 변경된 경우에는 소스링크가 표시됩니다. Normal 모드에서는 마우스 버튼으로 더블클릭을 하면 소스링크를 토글로 확인할 수 있습니다. 

그러니까, 문서를 작성하는 단계에서는 링크주소를 편집할 수 있고 그냥 Normal 모드로 변경했을 때는 완전한 문서로 볼 수 있는 것 입니다. 3번째 경우가 가장 무난하지요.

첫번째와 두번째의 경우, 링크를 클릭하려면 Shift키 + 마우스 클릭 을 하던가 혹은, Normal 모드에서 gx를 키인하면 됩니다. 세번째의 경우에는 해당 링크에 커서를 놓고  Enter키를 눌러주면 됩니다. 

설정은 Neorg의 config = function() ... end 안에서 아래와 같이 두 option의 값을 설정해 주면 됩니다. (아래 소스의 맨 아랫쪽을 참고)

return {
  "nvim-neorg/neorg",
  build = ":Neorg sync-parsers",
  dependencies = { "nvim-lua/plenary.nvim" },
  config = function()
    require("neorg").setup ({
      load = {
        ["core.defaults"] = {},  -- Loads default behaviour
        ["core.concealer"] = {}, -- Adds pretty icons to your documents
 		["core.ui"] = {},
		["core.ui.calendar"] = {},
		['core.journal'] = {
          config = {
            strategy = "flat",
          },
        },
        ["core.summary"] = {
          config = {
            strategy = "default",
          },
        },
        ["core.integrations.treesitter"] = {},
      },
    })

    -- set keymaps..
    local wk = require("which-key")
    wk.register({
      ["<leader>"] = {
        n = {
          name = "Neorg",
          p = { "<cmd>Neorg<CR>",                                                    "show popup-menu"     },
          c = { "<cmd>Neorg toggle-concealer<CR>",                                   "toggle concealer"    },
          i = { "<cmd>Neorg index<CR>",                                              "show index"          },
          l = { "<cmd>Neorg keybind all core.looking-glass.magnify-code-block<CR>",  "run looking-glass"   },
          n = { "<cmd>Neorg keybind all core.dirman.new.note<CR>",                   "create new note"     },
          d = { "<cmd>Neorg keybind all core.tempus.insert-date-insert-mode<CR>",    "insert date"         },
          t = { "<cmd>Neorg toc<CR>",                                                "show toc"            },
          k = {
            name = "Keybind",
            t = { "<cmd>Neorg keybind all core.pivot.toggle-list-type<CR>",          "list type toggle"    },
          },
          j = {
            name = "Journal",
            t = { "<cmd>Neorg journal today<CR>"    ,                                "journal 'today'"     },
            y = { "<cmd>Neorg journal yesterday<CR>",                                "journal 'yesterday'" },
            n = { "<cmd>Neorg journal tomorrow<CR>" ,                                "journal 'tomorrow'"  },
          },
        },
      },
    })

    -- norg 링크 표시 수준 설정
    vim.wo.concealcursor = "n"
    vim.wo.conceallevel  = 2
  end
}

.

Norg 플러그인을 사용하시면서, 링크 표시 때문에 불편하셨다면 참고 하시기 바랍니다. 

공유하기 링크
Comments