๊ฐœ๋ฐœ๋…ธํŠธ/Linux

[Linux] .vimrc ๊ณ ๊ธ‰ ์„ค์ •์œผ๋กœ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ ๋†’์ด๊ธฐ โšก๏ธ

๋กœ๋กœ๋ฝœ 2025. 11. 9. 08:00

๋ฆฌ๋ˆ…์Šค์—์„œ Vim์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ ค๋ฉด .vimrc ๊ณ ๊ธ‰ ์„ค์ •์ด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. ์ƒ๋Œ€ ์ค„ ๋ฒˆํ˜ธ, ์Šค๋งˆํŠธ ๊ฒ€์ƒ‰, netrw ๊ฐœ์„ , ์ž๋™์™„์„ฑ, ์ปค์„œ ๋ณต์› ๋“ฑ ์‹ค๋ฌด ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ๊ธ‰ Vim ์„ค์ •์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ๋ˆ…์Šค์—์„œ Vim์„ ์˜ค๋ž˜ ์“ฐ๋‹ค ๋ณด๋ฉด ๋ˆ„๊ตฌ๋‚˜ ํ•œ ๋ฒˆ์ฏค “๊ธฐ๋ณธ ์„ค์ •์˜ ํ•œ๊ณ„”๋ฅผ ๋งˆ์ฃผํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ €๋„ ์ž„๋ฒ ๋””๋“œ ๋ณด๋“œ์—์„œ C ์ฝ”๋“œ ๋””๋ฒ„๊น…ํ•  ๋•Œ, ๊ธฐ๋ณธ Vim๋งŒ์œผ๋กœ๋Š” ์ด๋™๋„ ๋‹ต๋‹ตํ•˜๊ณ  ๊ฒ€์ƒ‰๋„ ๋ถˆํŽธํ•ด์„œ ์—…๋ฌด ์†๋„๊ฐ€ ๋ˆˆ์— ๋„๊ฒŒ ๋–จ์–ด์กŒ์Šต๋‹ˆ๋‹ค.
๊ทธ๋•Œ๋ถ€ํ„ฐ .vimrc๋ฅผ ํ•˜๋‚˜์”ฉ ์†๋ณด๋ฉด์„œ ์ œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค์–ด ์™”๋Š”๋ฐ, ์ง€๊ธˆ ์†Œ๊ฐœํ•  ์„ค์ •์€ ์‹ค์ œ๋กœ ์ˆ˜๋…„๊ฐ„ ์‹ค๋ฌด์—์„œ ๊ฒ€์ฆ๋œ ๊ตฌ์„ฑ์ž…๋‹ˆ๋‹ค.

1. ์™œ .vimrc ๊ณ ๊ธ‰ ์„ค์ •์ด ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์˜ ํ•ต์‹ฌ์ธ๊ฐ€?

Vim์€ ๋‹จ์ˆœํ•œ ํŽธ์ง‘๊ธฐ๊ฐ€ ์•„๋‹ˆ๋ผ, ๊ฐœ๋ฐœ์ž์˜ ๋ˆˆ๊ณผ ์†์ด ๊ฐ€์žฅ ๋งŽ์ด ๋‹ฟ๋Š” “์ฃผ๋ ฅ ๋„๊ตฌ”์ž…๋‹ˆ๋‹ค.
ํŠนํžˆ GUI ์‚ฌ์šฉ์ด ์‰ฝ์ง€ ์•Š์€ ์„œ๋ฒ„/์ž„๋ฒ ๋””๋“œ ํ™˜๊ฒฝ์—์„œ๋Š” Vim์ด ์‚ฌ์‹ค์ƒ IDE ์—ญํ• ์„ ํ•˜์ฃ .

๊ธฐ๋ณธ Vim์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ถˆํŽธ์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์ ˆ๋Œ€ ์ค„ ๋ฒˆํ˜ธ๋งŒ ๋ณด์—ฌ์„œ ์ด๋™์ด ๋А๋ฆผ
  • ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์ž˜ ๋ณด์ด์ง€ ์•Š์•„ ์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์Šค์บ”ํ•˜๊ฒŒ ๋จ
  • ๊ด„ํ˜ธ ๋งค์นญ ์•ฝํ•จ → ์ค‘์ฒฉ ๊ตฌ์กฐ ํŒŒ์•… ์–ด๋ ค์›€
  • ์ž๋™์™„์„ฑ UI ๋ถˆ์™„์ „
  • netrw ๊ธฐ๋ณธ ๋ชจ๋“œ๊ฐ€ ๋„ˆ๋ฌด ๋ถˆ์นœ์ ˆํ•จ

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๊ณ ๊ธ‰ .vimrc ์„ค์ •์ž…๋‹ˆ๋‹ค.
์ € ์—ญ์‹œ ์ด ์„ค์ •๋“ค์„ ์ ์šฉํ•œ ํ›„๋ถ€ํ„ฐ ์ฝ”๋“œ ํƒ์ƒ‰ ์†๋„์™€ ํŽธ์ง‘ ์†๋„๊ฐ€ ํฌ๊ฒŒ ๋‹ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.


2. ์‹ค๋ฌด์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ณ ๊ธ‰ .vimrc ์ „์ฒด ์˜ˆ์‹œ

์•„๋ž˜๋Š” ์ œ๊ฐ€ ์ž„๋ฒ ๋””๋“œ·๋„คํŠธ์›Œํฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” .vimrc ์„ค์ •์ž…๋‹ˆ๋‹ค.
์ˆ˜์ฒœ ์ค„์งœ๋ฆฌ C ์ฝ”๋“œ์™€, ์ปค๋„ ๋กœ๊ทธ ๋ถ„์„, OpenWrt ํ™˜๊ฒฝ์—์„œ์˜ ์‰˜ ์ž‘์—…๊นŒ์ง€ ๋ชจ๋‘ ๊ณ ๋ คํ•ด ๋งŒ๋“  ๊ตฌ์„ฑ์ž…๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฐ์ƒท์—์„œ ๋ณด์ด๋Š” ์„ค์ •์€ ๋‹จ์ˆœ ํŽธ์˜ ๊ธฐ๋Šฅ์„ ๋„˜์–ด์„œ ๊ฐœ๋ฐœ ํ๋ฆ„ ์ „์ฒด๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ ์„ค์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹ค์‚ฌ์šฉ ๋ชฉ์ ์„ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž๊ฐ€ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ณ ๊ธ‰ Vim ์„ค์ • .vimrc ์ „์ฒด ๊ตฌ์„ฑ ์˜ˆ์‹œ — ์ƒ๋Œ€ ์ค„ ๋ฒˆํ˜ธ, ์Šค๋งˆํŠธ ๊ฒ€์ƒ‰, ์ƒ‰์ƒ ๊ฐ•์กฐ, netrw ๊ฐœ์„ , ์ž๋™์™„์„ฑ ์˜ต์…˜์ด ์ ์šฉ๋œ ๋ฆฌ๋ˆ…์Šค Vim ํ™˜๊ฒฝ
์‹ค๋ฌด ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ณ ๊ธ‰ .vimrc ์ „์ฒด ์„ค์ • ์˜ˆ์‹œ — Vim ์ƒ์‚ฐ์„ฑ ๊ทน๋Œ€ํ™” ๊ตฌ์„ฑ

์•„๋ž˜์— ์ œ๊ณตํ•˜๋Š” .vimrc ๊ตฌ์„ฑ์€ ์ œ๊ฐ€ ์‹ค๋ฌด์—์„œ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์„ค์ •์ž…๋‹ˆ๋‹ค.
๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•ด์„œ ์“ฐ์…”๋„ ๋ฌธ์ œ ์—†๋„๋ก ์•ˆ์ •์„ฑ ์ค‘์‹ฌ์œผ๋กœ ๊ตฌ์„ฑํ•ด๋‘์—ˆ๊ณ ,
ํŠนํžˆ SSH·์„œ๋ฒ„·์ž„๋ฒ ๋””๋“œ ํ™˜๊ฒฝ์—์„œ๋„ ๋™์ผํ•˜๊ฒŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

ํ•„์š”ํ•˜์‹œ๋ฉด ์ „์ฒด ์ฝ”๋“œ๋ฅผ ํ†ต์งธ๋กœ ๋ณต์‚ฌํ•˜์—ฌ ~/.vimrc์— ๋ถ™์—ฌ ๋„ฃ์–ด ๋ฐ”๋กœ ์‚ฌ์šฉํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค.

"=====================================================
"   ADVANCED VIM CONFIGURATION (๊ฐœ๋ฐœ์ž์šฉ ์‹ฌํ™” ์„ธํŒ…)
"=====================================================

"-----------------------------
" ๊ธฐ๋ณธ ํ‘œ์‹œ / ํŽธ์ง‘ ์„ค์ •
"-----------------------------
set number
set relativenumber
set cursorline
set showmatch
set nowrap
set ruler
set showcmd
set laststatus=2
set title

"-----------------------------
" ๋“ค์—ฌ์“ฐ๊ธฐ ๋ฐ ํƒญ ๊ด€๋ จ
"-----------------------------
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab

"-----------------------------
" ๊ฒ€์ƒ‰ ๊ด€๋ จ
"-----------------------------
set ignorecase
set smartcase
set hlsearch
set incsearch

"-----------------------------
" ํŒŒ์ผ / ๋ฐฑ์—… ๊ด€๋ จ
"-----------------------------
set nobackup
set nowritebackup
set noswapfile
set fileencodings=utf-8,euc-kr
set encoding=utf-8

"-----------------------------
" ์ƒ‰์ƒ / ํ™”๋ฉด ํ‘œ์‹œ
"-----------------------------
syntax on
set background=dark
set termguicolors
highlight LineNr ctermfg=DarkGrey
highlight CursorLine ctermbg=235
highlight MatchParen cterm=bold ctermbg=238 ctermfg=yellow

"-----------------------------
" ํƒ์ƒ‰ / ๋‹จ์ถ•ํ‚ค
"-----------------------------
nnoremap <Space> :nohlsearch<CR>
nnoremap <C-s> :w<CR>
nnoremap <C-q> :q<CR>
nnoremap <C-a> ggVG
nnoremap <C-l> zz

"-----------------------------
" Netrw ๊ฐœ์„ 
"-----------------------------
let g:netrw_banner = 0
let g:netrw_liststyle = 3
let g:netrw_browse_split = 4
let g:netrw_winsize = 20

"-----------------------------
" ์ž๋™์™„์„ฑ / ๋ฉ”๋‰ด ๊ฐœ์„ 
"-----------------------------
set history=1000
set wildmenu
set wildmode=longest,list,full
set completeopt=menu,menuone,noselect

"-----------------------------
" ์ปค์„œ ์œ„์น˜ ๋ณต์›
"-----------------------------
au BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "norm g`\"" |
\ endif
 

3. ์‹ค๋ฌด์—์„œ ํŠนํžˆ ๋„์›€๋๋˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์ •๋ฆฌ

์•„๋ž˜๋Š” ๋‹จ์ˆœ ๊ธฐ๋Šฅ ์„ค๋ช…์ด ์•„๋‹ˆ๋ผ, ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ฒด๊ฐํ•œ ํšจ๊ณผ ์ค‘์‹ฌ์œผ๋กœ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

1) ์ƒ๋Œ€ ์ค„ ๋ฒˆํ˜ธ(set relativenumber)

set relativenumber
 
3   if (...)
2   for (...)
1   while (...)
0   return
Vim ์ƒ๋Œ€ ์ค„ ๋ฒˆํ˜ธ(relativenumber) ์‚ฌ์šฉ ์ „ํ›„ ๋น„๊ต ํ™”๋ฉด — ์™ผ์ชฝ์€ ๊ธฐ๋ณธ ์ ˆ๋Œ€ ์ค„ ๋ฒˆํ˜ธ๋งŒ ํ‘œ์‹œ๋œ ๋ชจ์Šต, ์˜ค๋ฅธ์ชฝ์€ ์ƒ๋Œ€ ์ค„ ๋ฒˆํ˜ธ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์ฝ”๋“œ ์ด๋™ ๊ฑฐ๋ฆฌ๋ฅผ ์ง๊ด€์ ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” Vim ํ™˜๊ฒฝ
Vim ์ƒ๋Œ€ ์ค„ ๋ฒˆํ˜ธ(relativenumber) ์ ์šฉ ์ „ํ›„ ๋น„๊ต
 

ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ์— ์ด ๊ธฐ๋Šฅ์„ ๋ชฐ๋ž์„ ๋•Œ๋Š”,
10j, 15k ๊ฐ™์€ ์ด๋™ ๋ช…๋ น์„ ์ž์ฃผ ์“ฐ๋ฉด์„œ๋„ ๋ช‡ ์ค„ ์•„๋ž˜์ธ์ง€ ํ•ญ์ƒ ๋ˆˆ์œผ๋กœ ์„ธ์–ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.
relative number๋ฅผ ์ผœ๋ฉด ์ˆซ์ž๊ฐ€ “๊ฑฐ๋ฆฌ”์ฒ˜๋Ÿผ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋™์ด ํ›จ์”ฌ ์ง๊ด€์ ์ž…๋‹ˆ๋‹ค.

2) ์Šค๋งˆํŠธ ๊ฒ€์ƒ‰(smartcase + hlsearch)

set ignorecase
set smartcase
set hlsearch
set incsearch
 

์ด ๊ธฐ๋Šฅ์€ “grep ์—†์ด ๋น ๋ฅด๊ฒŒ ์ฝ”๋“œ ์ฝ๊ธฐ”์— ์—„์ฒญ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ์†Œ๋ฌธ์ž ๊ฒ€์ƒ‰ → ๋Œ€์†Œ๋ฌธ์ž ๋ฌด์‹œ
  • ๋Œ€๋ฌธ์ž ํฌํ•จ ๊ฒ€์ƒ‰ → ์ •ํ™• ๋งค์นญ
  • ๊ฒ€์ƒ‰ ์‹œ ์ผ์น˜ ๋ถ€๋ถ„ ์ž๋™ ํ•˜์ด๋ผ์ดํŠธ
  • / ์ž…๋ ฅ ์ค‘์—๋„ ์‹ค์‹œ๊ฐ„ ๊ฒ€์ƒ‰

Python ๋กœ๊ทธ, C ์ฝ”๋“œ ๋ถ„์„, Shell ์Šคํฌ๋ฆฝํŠธ ๋””๋ฒ„๊น…ํ•  ๋•Œ ๊ฒ€์ƒ‰์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ๋ฆ…๋‹ˆ๋‹ค.

3) cursorline + ๋งค์นญ ๊ด„ํ˜ธ + ์ƒ‰์ƒ ๊ฐœ์„ 

set cursorline
set showmatch
highlight CursorLine ctermbg=235
highlight MatchParen cterm=bold ctermbg=238 ctermfg=yellow
 
Vim cursorline๊ณผ ๊ด„ํ˜ธ ๋งค์นญ(showmatch) ๊ธฐ๋Šฅ ์ ์šฉ ์ „ํ›„ ๋น„๊ต — ์˜ค๋ฅธ์ชฝ ํ™”๋ฉด์—์„œ ํ˜„์žฌ ์ปค์„œ๊ฐ€ ์žˆ๋Š” ์ค„์ด ๊ฐ•์กฐ๋˜๊ณ  ๊ด„ํ˜ธ ๋งค์นญ์ด ํ•˜์ด๋ผ์ดํŠธ๋˜์–ด ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋œ ๋ชจ์Šต
๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ ๊ตฌ์กฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ์  ๊ฐœ์„ 

ํŠนํžˆ ์ž„๋ฒ ๋””๋“œ ํ”„๋กœ์ ํŠธ์ฒ˜๋Ÿผ if, while, callback์ด ์–ฝํžŒ ๊ตฌ์กฐ๋ฅผ ๋ณผ ๋•Œ
ํ˜„์žฌ ์œ„์น˜์˜ ํ๋ฆ„์„ ๋”ฐ๋ผ๊ฐ€๊ธฐ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

4) ๋‹จ์ถ•ํ‚ค ๋งคํ•‘(nnoremap)

nnoremap <Space> :nohlsearch<CR>
nnoremap <C-s> :w<CR>
nnoremap <C-q> :q<CR>
 

GUI IDE์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š” ๊ธฐ๋Šฅ์ด Vim์—์„œ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  • Space → ๊ฒ€์ƒ‰ ํ•˜์ด๋ผ์ดํŠธ ์ œ๊ฑฐ
  • Ctrl+S → ์ €์žฅ
  • Ctrl+Q → ์ข…๋ฃŒ
์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ <Space>๋กœ ํ•˜์ด๋ผ์ดํŠธ ์ œ๊ฑฐํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€์žฅ ์ž์ฃผ ์”๋‹ˆ๋‹ค.
ํŠนํžˆ /error ๊ฐ™์€ ๊ฒ€์ƒ‰ ํ›„ ํ™”๋ฉด์ด ๋ฒˆ์ฉ๊ฑฐ๋ฆด ๋•Œ ๋ฐ”๋กœ ๋ฆฌ์…‹ํ•  ์ˆ˜ ์žˆ์–ด์„œ ํŽธํ•ฉ๋‹ˆ๋‹ค.

5) netrw ํŒŒ์ผ ํƒ์ƒ‰๊ธฐ ๊ฐœ์„ 

Vim ๊ธฐ๋ณธ ๋‚ด์žฅ ํƒ์ƒ‰๊ธฐ netrw๋Š” ๊ธฐ๋ณธ๊ฐ’์ด ๋ถˆํŽธํ•ฉ๋‹ˆ๋‹ค.
์•„๋ž˜ ์„ค์ •์œผ๋กœ ์™„์ „ํžˆ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ด ๋ฉ๋‹ˆ๋‹ค.

let g:netrw_banner = 0
let g:netrw_liststyle = 3
let g:netrw_winsize = 20
 

ํŒŒ์ผ ๊ด€๋ฆฌ๊ฐ€ ํ›จ์”ฌ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

6) ์ž๋™์™„์„ฑ UI ๊ฐœ์„ 

set wildmenu
set wildmode=longest,list,full
set completeopt=menu,menuone,noselect

completeopt์™€ wildmenu ์„ค์ •์€ “์ˆœ์ • Vim ์ž๋™์™„์„ฑ”์˜ ์™„์„ฑํ˜•์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.
ํƒญ์„ ๋ˆŒ๋ €์„ ๋•Œ ๋ฉ”๋‰ด๊ฐ€ ๊น”๋”ํ•˜๊ฒŒ ์—ด๋ฆฌ๊ณ ,
์›์น˜ ์•Š๋Š” ์ž๋™ ์„ ํƒ์„ ํ•˜์ง€ ์•Š์•„ ์˜คํƒ€๋„ ์ค„์—ˆ์Šต๋‹ˆ๋‹ค.

 

7) ๋งˆ์ง€๋ง‰ ์ปค์„œ ์œ„์น˜ ๋ณต์›

์ˆ˜์ฒœ ์ค„์งœ๋ฆฌ C ํŒŒ์ผ์—์„œ ํŠนํžˆ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

au BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "norm g`\"" |
\ endif

์ž„๋ฒ ๋””๋“œ ๋กœ๊ทธ ํŒŒ์ผ์ด๋‚˜ ๋“œ๋ผ์ด๋ฒ„ ์ฝ”๋“œ๋ฅผ ์—ด ๋•Œ ๋งค์šฐ ์œ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
๋‹ค์‹œ ์—ด๋ฉด ์–ด์ œ ๋ณด๋˜ ์œ„์น˜๋กœ ๋ฐ”๋กœ ์ด๋™ํ•˜๋‹ˆ,
“์—ฌ๊ธฐ ์–ด๋””๊นŒ์ง€ ๋ดค๋”๋ผ?” ์ฐพ์„ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

 


4. FAQ – .vimrc ๊ณ ๊ธ‰ ์„ค์ • ๊ด€๋ จ ์งˆ๋ฌธ

Q1. ์„ค์ •์ด ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

A. ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ์›์ธ์€ .vimrc๋ฅผ ์ €์žฅ๋งŒ ํ•˜๊ณ  ๋‹ค์‹œ ์ฝ์ง€ ์•Š์€ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.
์•„๋ž˜ ๋ช…๋ น์œผ๋กœ ์ฆ‰์‹œ ์žฌ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

:source ~/.vimrc
 

 

Q2. netrw๊ฐ€ ์ด์ƒํ•˜๊ฒŒ ๋ณด์ด๋ฉด?

A.  ํ„ฐ๋ฏธ๋„ ํฌ๊ธฐ·ํฐํŠธ๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ๋ณด์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
g:netrw_winsize ๊ฐ’์„ ์กฐ๊ธˆ ๋ฐ”๊ฟ”๋ณด์„ธ์š”.

Q3. Ctrl+S๊ฐ€ ์ €์žฅ์ด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

A.  ํ„ฐ๋ฏธ๋„ ์ž์ฒด ๋‹จ์ถ•ํ‚ค๊ฐ€ ๋จน๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
.bashrc์—์„œ stty ์„ค์ •์„ ํ™•์ธํ•˜์„ธ์š”.

Q4. ์ƒ‰์ƒ์ด ๊นจ์ ธ ๋ณด์ž…๋‹ˆ๋‹ค.

A. 

set termguicolors
 

๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ ค๋ฉด 256color ํ„ฐ๋ฏธ๋„์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Q5. ์ปค์„œ ์œ„์น˜ ๋ณต์›์ด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

A.  ํŒŒ์ผ์ด ๋„ˆ๋ฌด ์ž‘๊ฑฐ๋‚˜, ์ด์ „ ์ข…๋ฃŒ ์‹œ ์œ„์น˜ ์ •๋ณด๊ฐ€ ์ €์žฅ๋˜์ง€ ์•Š์•˜์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


5. .vimrc ๊ณ ๊ธ‰ ์„ค์ •์ด ๊ฐœ๋ฐœ ํ๋ฆ„์— ์ฃผ๋Š” ์‹ค์งˆ์  ํšจ๊ณผ

.vimrc ๊ณ ๊ธ‰ ์„ค์ •์€ ๋‹จ์ˆœํžˆ ํŽธ์ง‘๊ธฐ๋ฅผ ๊พธ๋ฏธ๋Š” ์ˆ˜์ค€์ด ์•„๋‹ˆ๋ผ
๊ฐœ๋ฐœ์ž๊ฐ€ ๋งค์ผ ๋ฐ˜๋ณตํ•˜๋Š” ์ž‘์—…์˜ ๊ตฌ์กฐ๋ฅผ ๋ฐ”๊ฟ”์ฃผ๋Š” ํ•ต์‹ฌ ์š”์†Œ์ž…๋‹ˆ๋‹ค.
์ƒ๋Œ€ ์ค„ ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•œ ๋น ๋ฅธ ์ด๋™, ์Šค๋งˆํŠธ ๊ฒ€์ƒ‰์„ ํ™œ์šฉํ•œ ์ฝ”๋“œ ๋ถ„์„,
๊ด„ํ˜ธ ๋งค์นญ๊ณผ cursorline์— ์˜ํ•œ ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ,
๊ทธ๋ฆฌ๊ณ  netrw ๊ฐœ์„ ๊ณผ ์ž๋™์™„์„ฑ ์˜ต์…˜์€ ์‹ค์ œ ๊ฐœ๋ฐœ ํ˜„์žฅ์—์„œ ์ฆ‰๊ฐ์ ์ธ ํšจ์œจ ์ฐจ์ด๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

ํŠนํžˆ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ˆœ์ • Vim ํ™˜๊ฒฝ์—์„œ๋„
์‹ฌํ™” ์„ค์ •๋งŒ์œผ๋กœ ๊ฐœ๋ฐœ ์ง‘์ค‘๋„๊ฐ€ ์ƒ์Šนํ•˜๊ณ ,
๋Œ€์šฉ๋Ÿ‰ ์ฝ”๋“œ ํŽธ์ง‘์ด๋‚˜ ์ž„๋ฒ ๋””๋“œ ๋กœ๊ทธ ๋ถ„์„์—์„œ๋„
์ž‘์—… ํ๋ฆ„์ด ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์ด์–ด์ง€๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํšจ์œจ์ ์ธ ์ฝ”๋”ฉ ํ™˜๊ฒฝ์€ ๋„๊ตฌ์˜ ์„ ํƒ๋ณด๋‹ค
๋„๊ตฌ๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•˜๋А๋ƒ์—์„œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.
๊ณ ๊ธ‰ .vimrc ๊ตฌ์„ฑ์€ ๊ฐœ๋ฐœ์ž์˜ ์‹œ๊ฐ„์„ ์ง€ํ‚ค๋Š” ๊ฐ€์žฅ ํ™•์‹คํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.