본문 바로가기

전체 글85

Neovim lua setup 1. lua ? 가벼운 스크립트를 목적으로 만들어진 언어로, 기존의 vimscript 기반의 neovim 보다 훨씬 가볍고 빠르다는 장점이 있다고 합니다. 그래서 저도 이번에 공부 좀 하며 바꿨는데, 빨라진건 체감을 약간 하는거 같습니다. 그리고, 기존의 스파게티 init.vim, vimrc를 구조화시켜 최대한 function기준으로 구분지어 놓았습니다. 2. Structure 폴더구조는 위와 같으며 각 폴더의 기능은 아래와 같다. config : Neovim option, keymap 등등 plugins : 각종 plugin utils : config에서 사용할 function https://youtu.be/u6S71cpMfw8?si=RhHiIct62YH0NP5p(초기세팅은 이분 영상보고 했음) 3. .. 2024. 4. 2.
Neovim Plugin #3 (Git) 1. http://github.com/tpope/vim-fugitive git 명령어 입력 2. lewis6991/gitsigns.nvim git 수정사항 line number에 표시 3. lazygit fugitive 의 gui version 느낌(?) - 현재 사용법 미숙함 2023. 5. 20.
Neovim Plugin #2 (Editing Support 2) 1. nvim-lua/telescope.nvim Git repository 기준 파일 찾기 or keyword 찾기(fzf 와 비슷) 2. p00f/nvim-ts-rainbow 같은 괄호 색칠 3.Raimondi/delimitMate 괄호 자동완성 4.http://github.com/majutsushi/tagbar 변수 or 함수 list/up 5.antoinemadec/vim-verilog-instance verilog language support(instance 호출) 6. psf/black python language support 7. honza/vim-snippets 자주 쓰는 함수 호출 2023. 5. 20.
Neovim Plugin #1 (Editing Support 1) 모든 Plugin은 해당 Plugin 페이지(Github)에 간략한 설명을 보거나, doc file을 봐야 사용 가능 1. neoclide/coc.nvim 자동완성 플러그인으로 자신이 사용하는 LSP에 맞도록 함수 정의를 보거나, 현재 열어둔 파일과 같은 변수들을 찾아 list를 보여준다. 2. http://github.com/junegunn/vim-easy-align 특정문자 기준으로 정렬을 시켜주는 플러그인 3. tommcdo/vim-lion 특정문자 기준으로 정렬을 시켜주는 플러그인(2번은 한번에 문자 한개씩이지만, 이건 한번에 여러개 가능) 4. preservim/nerdcommenter Language에 맞도록 Comment 처리 가능 5.chrisbra/csv.vim CSV viewer 6. .. 2023. 5. 20.
Neovim Plugin #0 (Setting & GUI) 1. Vim vs Neovim Vim의 제한적인 기능들을 좀 더 쉽게 사용하기 위해 Neovim이라는 오픈소스 프로젝트 커뮤니티에서 아키텍쳐를 재구축하여 좀 더 효율적인 Editor가 되었다고 합니다. 현재까지 계속 업데이트 되고 있으며, Vim 대비 장점으로는 Lua Language 사용으로 인한 효율성 높은 플러그인(이라고 합니다) LSP(Language Server Protocol) 지원 : 자동완성 및 Lint 내부 Terminal 제공 입니다. (https://www.baeldung.com/linux/vim-vs-neovim) 2. Neovim 설치 Mac OS 기준 아래 명령어로 설치가 끝납니다. brew install neovim Linux의 경우 아래 명령어로 설치가 됩니다. sudo ap.. 2023. 5. 15.
Neovim @ ITerm2 최근에 집에 공부할 목적 및 겸사겸사 M2 MAC mini를 들였습니다. 기존에 사용하던 WSL(Window linux) 너무 느려서 답답했는데, 이건 정말 신세계네요..... 현재까지 setting 해놓은 다양한 Plugin을 공유할 생각이며, 기존에 포스팅했던 내용과 많이 겹치더라도 많은 분들이 vim을 쓰면서 공유했으면 하는 마음에 올릴 예정입니다. 2023. 5. 8.
기술 관련 포스팅을 잠시 멈춥니다 회사 업무 진행하는데 많은 시간을 할애 해야해서, 개인 공부할 시간이 남아나질 않아 좋은 포스팅을 하기가 힘들 것 같아 잠시 멈추겠습니다. 2021. 7. 16.
[systemC] TLM 2.0 기초 TLM이란 Transaction Level Modeling으로 Wiki내용을 살짝 첨부하자면 '모듈 간의 통신 세부 사항이 기능 단위 또는 통신 아키텍처의 구현 세부 사항과 분리되는 디지털 시스템 모델링에 대한 높은 수준의 접근 방식' 이라고 합니다. 위의 말을 간단하게 말하면 추상화레벨로 기능, 구조를 설계하는 방식이며, 각 peri간의 통신 구현(protocol)은 transaction이라는 packet 통신을 통해서 동작합니다. 기존에 포스팅했던 사이트를 들어가면 예제 code가 있는데, 가장 기초가 되는 example은 하나의 master block(Initiator)에서 slave block(Mem)으로 통신하는 방식을 묘사했습니다. 아래 그림을 보면서 설명하도록 하겠습니다.(혼자 공부중이라 틀.. 2021. 6. 14.
[systemC] TLM 2.0 RTL과는 다르게 굳이 bus protocol을 전부 구현할 필요없이 peri간 data들을 구현하기 쉽도록 systemC에서는 lib를 제공하는데 그중 하나가 tlm 입니다. 해당 concept을 아래 사이트에 예제 code와 같이 설명이 되어있으니 공부에 도움이 될 듯 합니다. 집에서 코드 구현 다해보면 예제와 같이 올리겠습니다. https://www.doulos.com/knowhow/systemc/tlm-20/tutorial-1-sockets-generic-payload-blocking-transport/ Doulos A Series of Tutorials based on a set of Simple, Complete Examples John Aynsley, Doulos, June 2008 Intr.. 2021. 6. 5.