개발 기록/Coding&Debugging

Tmux + NeoVim 설정 + Vim PlugIn install

LiDARian 2024. 10. 27. 17:11
반응형

TMUX 설정

다음은 ~/.tmux.conf 내용. 적용은 tmux source-file ~/.conf.tmux로 하면된다.

# general
set -g default-terminal "screen-256color"
set -g history-limit 8192


# unbind the prefix and bind it to Ctrl-a like screen.
unbind C-b
set -g prefix C-a
bind a send-prefix
bind C-a send-prefix
bind b send-prefix
bind C-b send-prefix


# act like vim.
set -g mode-keys vi
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

bind -T copy-mode-vi "v" send -X begin-selection
bind -T copy-mode-vi "V" send -X rectangle-toggle
bind -T copy-mode-vi "y" send -X copy-selection-and-cancel


# shortcut for moving tmux buffer to clipboard
# useful if you've selected with the mouse
bind-key -nr C-y run "tmux show-buffer | xclip -in -selection clipboard $> /dev/null"

# don't wait for escape sequences
set -sg escape-time 50

# fix titlebar
set -g set-titles on
set -g set-titles-string "#T"

# mouse friendly
set -g mouse on


#### color (Solarized 256)
set -g status-style bg=colour235,fg=colour136
setw -g window-status-style fg=colour244
setw -g window-status-current-style fg=colour166
setw -g window-status-activity-style fg=colour61
setw -g window-status-bell-style fg=colour61
set -g pane-border-style fg=colour235
set -g pane-active-border-style fg=colour240
set -g message-style bg=colour235,fg=colour166

Plugin Installation

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
alias python="python3"

source ~/.bashrc
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

NeoVim

다음은 ~/.config/nvim/init.vim 내용

set nocompatible              " be iMprovd, required
filetype off                  " required

" vim-plug 설정 시작
call plug#begin('~/.vim/plugged')

" 플러그인 목록
Plug 'morhetz/gruvbox'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'ryanoasis/vim-devicons'
Plug 'scrooloose/nerdcommenter'
Plug 'sheerun/vim-polyglot'
Plug 'jiangmiao/auto-pairs'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'tpope/vim-fugitive'
Plug 'davidhalter/jedi-vim'
Plug 'vim-scripts/indentpython.vim'
Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'tiagofumo/vim-nerdtree-syntax-highlight'
Plug 'PhilRunninger/nerdtree-visual-selection'
Plug 'junegunn/vim-easy-align'
Plug 'junegunn/vim-github-dashboard'
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
Plug 'preservim/nerdtree', { 'on':  'NERDTreeToggle' }
Plug 'tpope/vim-fireplace', { 'for': 'clojure' }
Plug 'nvim-tree/nvim-web-devicons'
Plug 'akinsho/bufferline.nvim'
Plug 'nvim-tree/nvim-web-devicons'
Plug 'akinsho/bufferline.nvim'

call plug#end()
" vim-plug 설정 끝

filetype plugin indent on    " required

" 기본 설정들
set encoding=utf8
set clipboard=unnamedplus " Enables the clipboard between Vim/Neovim and other applications.
set clipboard+=unnamedplus
set completeopt=noinsert,menuone,noselect " Auto-complete 메뉴 설정
set cursorline " 현재 줄 하이라이트
set hidden " 사용하지 않는 버퍼 숨김
set autoindent " 자동 들여쓰기
set mouse=a " 마우스 사용 허용
set number relativenumber " 줄 번호 표시
set splitbelow splitright " 창 분할 방향 설정
set title " 파일 제목 표시
set wildmenu " 고급 메뉴 표시
set guifont=hack_nerd_font:h11
"set cc=100 " 80 컬럼 경계선 표시
syntax on
" set spell " 맞춤법 검사 활성화
set nospell
set ttyfast " Vim 스크롤 속도 향상

let g:kite_supported_languages = ['python', 'javascript']

" 색상 테마 설정
"colorscheme gruvbox
let g:bargreybars_auto=0
let g:airline_solorized_bg='dark'
let g:airline_powerline_fonts=1
let g:airline#extension#tabline#enable=1
let g:airline#extension#tabline#left_sep=' '
let g:airline#extension#tabline#left_alt_sep='|'
let g:airline#extension#tabline#formatter='unique_tail'
let NERDTreeQuitOnOpen=1

let g:WebDevIconsUnicodeDecorateFolderNodes = 1
let g:WebDevIconsUnicodeDecorateFolderNodeDefaultSymbol = '#'
let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols = {}
let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols['nerdtree'] = '#'
let g:coc_disable_startup_warning = 1
let g:coc_disable_startup_warning = 1
" NERDTree 자동 실행 및 단축키 설정
autocmd vimenter * NERDTree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
map <C-n> :NERDTreeToggle<CR>
반응형