개발환경/Neo vim

Change ColorScheme with Telescope in the fly 텔레스콥에서 컬러 테마 바꾸세요 and consistent

autostar 2023. 3. 31. 01:03
반응형

그거 아시나요? 우리가 항상쓰는 텔레스콥에 컬러테마를 바꿀수 있는 기능이 빌트인 되어있다는 사실을... 하지만 만들다 만 것 같이 종료후 다시 켜면 원복된다는 것을..

오늘은 이 변경한 테마를 계속 쓸 수 있게 세팅하는 방법을...

몇일간 방법을 찾는다고 고생하며 몇시간 동안 에러를 내며 만든 몇줄..(이거 만든지 몇달 지났으니까 괜찮을거에요^^;;) 공개하겠습니다. 잘 따라오세용!! 😄😄

 

우선 환경부터 말씀드리자면 리눅스에서 vim 아니고 neovim 입니다.

그리고 플러그인 매니저는 Packer입니다.

테마는 이정도 받아줬습니다. 네.. 이정도는 되어야 고를 맛이 나지요!

 

텔레스콥을 실행해 띄워주고 colorscheme 을 살포시 검색해줍니다

자 이렇게 검색 후 선택하는것이 picker 라고 합니다.

 

일단 코드를 보여드리면 

telescope.setup{
	defaults={
    ...
    },
    pickers = {
    	colorscheme = {
              enable_preview = true,
      attach_mappings = function(_, map)
      
        map({ "i", "n" }, "<Cr>", function(_prompt_bufnr)
          local selection = action_state.get_selected_entry()
          local cmd = 'colorscheme ' .. selection[1]
          vim.cmd(cmd)
          print(cmd)
          path = vim.fn.expand(Path .. "/theme.lua")
          file = io.open(path, "w")
          file:write("vim.cmd('" .. cmd .. "\')")
          file:close()
          actions.close(_prompt_bufnr)
          vim.cmd('source ' .. path)
 
        end)
       
        return true
      end
    }

 

picker 부분에서 이렇게 코드를 추가해줍니다.

프리뷰 기능이 있어서 

이렇게 실시간으로 바뀌는 것을 감상하며 마음에 드는것을 고를 수 있는데 local cmd 부분에서 실시간으로 적용시키는 부분이고,

그 밑의 file io 뭐 이런부분에서 지정한 테마를 파일에 씌우는 것입니다. 코드 상으로는 colorscheme.lua 파일을 만들어놓고 위치는 lua 폴더 안에 넣어두엇습니다. 다들 고수분들이시니 이정도만 해도 아실거라 생각해서 이만 줄여봅니다^^

터미널을 이쁘게 꾸며보아요 ~~ :)

 
반응형