내가 어떻게 Vim



나는 개발자다


@iamdevloper






지금까지 약 2년 동안 Vim을 사용했는데, 주로 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을 쉽게 작성하고 종료할 수 있도록 몇 가지 명령이 매핑되었으므로 이제 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 팁이 있다면 언제든지 댓글에 남겨주세요. vim 게임을 향상시키고 싶습니다!

좋은 웹페이지 즐겨찾기