빔슬람(Vimslam)이 되보자

빔슬람(Vimslam)이 되보자

Vim이란?

Vim은 서버에서 작업하는 사람들 사이에서 유용한 텍스트 편집기입니다. UNIX 시스템에서 표준 편집기였던 VI의 개선판으로 Vi Improved의 약자입니다. 그래서 대부분의 유닉스기반(리눅스를 포함한) 운영체재에 설치되어있고 작동합니다.

Vim은 다음과 같은 특징을 갖고 있습니다.

  • 모드 기반 편집
    Vim은 입력 모드와 명령 모드로 구분됩니다. 사용자는 명령 모드에서 편집, 삭제, 검색 등을 빠르게 할 수 있으며, 입력 모드에서는 실제 텍스트를 입력합니다. 이러한 모드 분리를 통해 효율적인 텍스트 조작이 가능합니다.
  • 고급 검색 및 치환 기능
    Vim은 강력한 검색 기능을 제공하며, 정규 표현식을 사용한 복잡한 검색과 치환 작업을 지원합니다. 대규모 코드베이스에서 텍스트를 빠르게 찾아 수정할 수 있습니다.
  • 확장성과 커스터마이징
    Vim은 다양한 플러그인과 설정을 통해 기능을 확장할 수 있습니다. 개발자는 자신의 필요에 맞게 키 바인딩, 테마, 플러그인을 설정하여 생산성을 높일 수 있습니다.
  • 빠른 성능과 효율성
    Vim은 매우 가볍고 빠르며, 시스템 리소스를 적게 사용합니다. 이는 대규모 파일 작업이나 서버 환경에서 특히 유리합니다.

나만의 Vim 플러그인 설정 방법

위에서 언급한것 처럼 다양한 플러그인을 사용 할 수 있습니다. 이 방법으로 설정한 '개인적인' vim 설정 방법이므로 참고하시고 플러그인들을 추가하시길 바랍니다.

💡
Vim이 설치되어 있다는 가정하에 진행됩니다.
  1. vim-plug 설치
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  1. plug install
$ vim
:PlugInstall

vim을 실행하고 vim 에디터창에서 작업을 진행합니다.

  1. vimrc 수정

다음 명령어로 vim ~/.vimrc 파일을 수정합니다.

call plug#begin('~/.vim/plugged')

Plug 'preservim/nerdtree'
Plug 'jeetsukumaran/vim-buffergator'
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }

call plug#end()

" shortcut
nmap <F2> :NERDTreeToggle<CR>
nmap <F3> :call ToggleBuffergator()<CR>

"toggle <F3> - vim-buffergator function
function! ToggleBuffergator()
    if exists("t:buffergator_open") && t:buffergator_open == 1
        BuffergatorClose
        let t:buffergator_open = 0
    else
        BuffergatorOpen
        let t:buffergator_open = 1
    endif
endfunction

" NERDTree setting
let g:NERDTreeChDirMode=2                      " 작업디렉토리 자동 동기화

플러그인설명 및 단축키

  1. NERDTree 폴더를 트리구조로 확인 F2로 트리를 토글로 열고 닫을 수 있음
트리 토글창 예시
  1. vim-buffergator 열었던 파일을 확인 F3 로 버퍼목록을 토글로 열고 닫을 수 있음 (변경사항이 있는 파일의 경우 + 표시로 구분됨)
버퍼 토글창 예시
  1. ctrl+w + lkjh or w vim기본 단축키로 분할창 이동
기본 단축키인 vs로 분할창에서도 작동하는 토글창

Read more

푸름이세요? 아니요 구름인데요

푸름이세요? 아니요 구름인데요

클라우드 컴퓨팅(Cloud Computing) 이란? 클라우드 컴퓨팅은 IT 인프라를 손쉽게 관리할 수 있도록 도와주며, 확장성과 유연성을 제공하는 기술입니다. 물리적인 서버를 직접 구매하지 않아도 되며, 필요한 만큼의 자원을 사용하고 비용을 절감할 수 있다는 점에서 많은 기업과 개인이 활용하고 있습니다. 클라우드 서비스의 유형을 크게 세 가지 모델로 나눌 수 있습니다. 인프라스트럭처 서비스(

By hyobin
스근하게 Go 한 스푼

스근하게 Go 한 스푼

Golang 이란? Go(Golang)는 Google에서 개발한 오픈소스 프로그래밍 언어로, 높은 성능과 간결한 문법을 제공하는 언어입니다. 2009년에 발표되었으며, 빠른 컴파일 속도와 강력한 동시성(concurrency) 지원이 특징입니다. C 언어와 비슷한 성능을 내면서도 Python처럼 직관적인 코드 작성을 목표로 설계되었습니다. Golang의 장점 Go 언어를 사용하면 다음과 같은 장점을 얻을 수 있습니다. 간결한 문법

By hyobin