어떻게 내가 Vim

어떻게 내가 Vim

2022-10-13 last update

5 minutes reading bash vim texteditor productivity


나는 개발자다


@iamdevloper






나는 Vim을 종료하는 방법을 알 수 없기 때문에 지금 약 2년 동안 Vim을 사용해 왔습니다.


23:26 오후 - 2014년 2월 17일





13829

8673



소개



Vim 농담은 편집자 자체만큼이나 오래되었습니다. 그러나 저는 몇 년 동안 Vim을 매일 사용해 왔으며 주로 빠른 편집과 커밋 메시지 작성을 위해 사용하고 있습니다. 내 설정을 공유하고 다른 사람이 도움이 될 수 있다고 생각했습니다.

사용의 용이성



Vim을 처음 사용할 때 사람들이 가장 이해하기 어려운 것은 명령 시스템입니다. 이 시스템은 매우 강력할 수 있지만 대부분의 사용 사례에서 새 사용자는 방금 작성한 버퍼를 저장하는 방법을 혼동합니다. 우리의 첫 번째 목표는 보다 일반적인 명령 중 일부를 핫키 조합으로 추상화하는 것입니다.

먼저 홈 디렉토리.vimrctouch .vimrc를 생성해야 합니다. vim 사용자가 아닐 수도 있기 때문에 원하는 편집기로 다음과 같이 변경할 수 있습니다.

우리는 모든 단축키의 시작이 될 "리더"를 설정할 것입니다.

let mapleader = "`" 

나는 사용하는 것을 선호한다

`
키가 약간 떨어져 있고 실수로 키를 칠 가능성이 적기 때문에 원하는 대로 설정할 수 있습니다.

이제 현재 버퍼를 쓰는 명령을 만들 것입니다.

noremap <leader>w :w<cr>
noremap는 재귀적이지 않은 매핑 명령입니다. 즉, 새 명령을 함께 연결하지 않습니다. 이것은 초보자에게 다소 다루기 힘들고 디버그하기 어렵게 만들 수 있습니다. vim에 익숙하다면 재귀적 방법map을 사용해도 됩니다.

vim에 매핑 중이라고 말하면 <leader> 태그를 사용하여 해당 변수를 사용하고 뒤에 w 를 사용합니다. 따라서 키 입력

` w:w 캐리지 리턴에 의해 실행되는 <cr> 명령을 통해 현재 버퍼를 씁니다. 이 한 줄은 esc 를 누르고 :w 를 입력한 다음 enter 를 누르는 것과 같습니다.

이제 noremap를 통해 좀 더 일반적인 명령을 작성할 수 있습니다.

nnoremap <leader>a :wqall<cr>
nnoremap <leader>q :qall!<cr>

이 두 매핑은

` a
열려 있는 모든 버퍼를 쓰기 위해 종료하고

` q
열려 있는 모든 버퍼를 종료합니다.

이제 우리는 쉽게 vim에서 벗어날 수 있습니다!

더 나아가



이제 vim을 쉽게 작성하고 종료할 수 있는 몇 가지 명령이 매핑되었으므로 집처럼 느껴지도록 시작할 수 있습니다. 다음은 내 자신의 발췌문입니다.vimrc.

" Turn on syntax highlightin
syntax on
" Turn on line numbers
set number
" Set the colorscheme to elflord
" See more colorschemes by entering command mode via esc then typing
" :colorscheme then pressing space and changing it via tab
colorscheme elflord

" Turn tabs into spaces and set them to be two spaces long
set expandtab
set tabstop=2
set softtabstop=2
set shiftwidth=2
set splitright

" highlight the current line of the buffer
set cursorline
" allow the mouse to be used to change cursor position
set mouse=a

" This block here executes the Vim Explorer on startup, opening the
" current directory tree in a small pane to the left
let g:netrw_banner = 0
let g:netrw_liststyle = 3
let g:netrw_browse_split = 4
let g:netrw_altv = 1
let g:netrw_winsize = 10
augroup ProjectDrawer
  autocmd!
  autocmd VimEnter * :Vexplore
augroup END

" `` should rotate split focus
noremap <leader><leader> <C-W><C-w>



결론



이것이 vim을 더 잘 해결하는 데 도움이 되었기를 바랍니다.

멋진 vim 팁이 있다면 댓글에 자유롭게 남겨주세요. vim 게임을 향상시키고 싶습니다!