설치

백업

mv ~/.config/nvim ~/.config/nvim.bak

Clean neovim folders (Optional but recommended)

mv ~/.local/share/nvim ~/.local/share/nvim.bak
mv ~/.local/state/nvim ~/.local/state/nvim.bak
mv ~/.cache/nvim ~/.cache/nvim.bak

Clone the repository

git clone --depth 1 https://github.com/AstroNvim/AstroNvim ~/.config/nvim
nvim

1. 기본 맵핑 설정변경(기본설정)

`leader key` 가 기본적으로 `SPACEBAR` 로 설정되어 있습니다. 개인적으로는 vim 에서 전통적으로 사용하는 \ 키를 변경하고 싶지않아 변경하였습니다.
  1. lua/astronvim/optionslua ... leader key 설정변경
  2. lua/astronim/mapping.lua ... 기타 키 맵핌 설정
    -- mapleader = " ", -- 기본설정
    mapleader = "\\",k

2. 기타 설정 변경

leader key 변경

~/.config/nvim/lua/user/init/lua에 기타 설정들을 변경할 수 있습니다.

아래샐정은 leaderkey 를 변경하고 , mapping.lua에 설정되어 있는 pane split 기능에 대한 단축키를 disabled 처리 한 것입니다.

return {
  options = {
    g = {
      mapleader = "\\"
    }
  },
  mappings = {
    n = {
      ["|"] = false,
      ["\\"] = false
    }
  },
  plugins = {
    init = {
      { "ofejwpofwpeojf",
        config = function()
          require("rust-tools").setup {
          server = astrovim.lsp.server_settings "rust_analyzer"
          }
      }
    }
  }
}

3. plugin 설치

~/.config/nvim/lua/user/plugins/ 폴더에 플러그인 파일들을 생성하면 자동으로 파일을 읽어들인다.

nvim-surround

~/.config/nvim/lua/plugin/nvim-surround.lua에 아래 내용을 삽입

return {
  {
    "kylechui/nvim-surround",
    version ="*",
    event = "VeryLazy",
    config = function()
      require("nvim-surround").setup({
        -- Configuration here, or leave empty to use defaults
      })
    end,
  },
}

i

codeium

~/.config/nvim/lua/plugins/codium.lua 파일에 아래 내용을 추가하고 저장하면, 자동으로 플러그인을 인식한다.

return {
  {
    'Exafunction/codeium.vim',
    event = 'BufEnter',
    config = function ()
    -- Change '<C-g>' here to any keycode you like.
      vim.keymap.set('i', '<C-g>', function () return vim.fn['codeium#Accept']() end, { expr = true })
      vim.keymap.set('i', '<c-;>', function() return vim.fn['codeium#CycleCompletions'](1) end, { expr = true })
      vim.keymap.set('i', '<c-,>', function() return vim.fn['codeium#CycleCompletions'](-1) end, { expr = true })
      vim.keymap.set('i', '<c-x>', function() return vim.fn['codeium#Clear']() end, { expr = true })
      vim.keymap.set("n", "<leader>;", function()
        if vim.g.codeium_enabled == true then
          vim.cmd "CodeiumDisable"
        else
          vim.cmd "CodeiumEnable"
        end
      end, { noremap = true, desc = "Toggle Codeium active" })
    end,
  }
}

vim에 들어가서 명령모드에서 아래와 같이 입력하면, 인증을 시작한다.

:Codeium Auth
반응형

Golang 에 유용한 IDE 에디터

Go언어를 공부하다보면, 이것저것 편집기를 만져보는게 하나의 통합된 편집기에서 사용하고 싶고, 이것저것 여러 에디터를 설치하기가 싫다.

  • Atom : node.js 로 만들어진 에디터. 범용성이 뛰어납니다. 이본적으로 browser를 기반으로 만들어져 그런지 사양을 좀 탑니다. 처음에 설정을 하기가 좀 힘이 듭니다. 실행중에 잦은 오류가 생깁니다. 이뻐서 사용해보려고 했는데, 뭔가 생산을 하기에는 부적합한 도구가 아닐까 생각이 듭니다.
    저는 이상하게 자동완성 기능이 되다 안되다….. 제가 잘 못쓰는 거겠지만.

  • IntelliJ IDEA : plugin 을 통해서 사용할 수 있습니다. 강좌를 보면 외국분들은 많이 사용하더라구요. 이클립스 같은 통합형툴.

  • LiteIDE : 개인적으로 필요한 기능등만 들어있는 툴입니다. golang에 특화 되어 있어서 사용하기가 편합니다.
    기본에 충실한 에디터 입니다.

  • sublime : Atom과 같이 초반에 설정을 해 줘야 하는게 상당히 번거롭습니다. 가볍고, 빠릅니다.

기타 vim, emacs 등이 있지만, 저는 사용할 줄 아직 모르고, 이 편집기를 사용하신다면 이미 에디터 끝판왕.
메모장을 드려도 잘 사용하실 듯

언젠가, emacs 로 넘어가는 그날을 위해서

반응형

+ Recent posts