개발환경/Neo vim

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

autostar 2023. 3. 31.
반응형

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

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

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

 

우선 환경부터 말씀드리자면 리눅스에서 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 폴더 안에 넣어두엇습니다. 다들 고수분들이시니 이정도만 해도 아실거라 생각해서 이만 줄여봅니다^^

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

 
반응형

댓글