정력 + 공간 = ️

4699 단어 healthvimproductivity
약 1년 전에 저는 직장에서 기본 텍스트 편집기로 vim를 사용하기 시작했습니다. 때때로 저는 emacs와 스페이스 키 사용에 초점을 맞춘 니모닉 키 바인딩이 있는 배포판에 대해 생각합니다. 전역 찾기<space>-f-g 또는 <space>-g-s 상태 표시git에 대해 매우 우아하고 기억하기 쉽습니다. leader 키로 일부 플러그인을 즐겁게 사용할 수 있습니다.

예를 들어 vim-surround . 대신 기본값\S을 쉽게 누를 수 있습니다. <space>S .

그런 식으로 space는 우리 손에서 엄지 손가락이 가장 강한 손가락이기 때문에 건강에 좋습니다. 새끼 손가락을 사용하여 capslock 또는 \leader 키로 누르면 그다지 편안하지 않고 손이 훨씬 빨리 피곤해집니다.


약 한 달 전에 space 에서 vim 를 유사하게 사용할 수 있다는 것을 발견했습니다.

I know about spacevim, but it's so complicated and I like to build my editor by myself, keeping only features what I really need.



해 봅시다!

vim-which-key 추가



vim-which-key 언제든지 모든 키 결합을 볼 수 있습니다. emacs(및 spacevim에서도)와 완전히 같은 기능처럼 보입니다.

초기 구성


init.vim에 몇 줄을 추가합니다.

let g:which_key_map =  {}
" needs to call `whichkey` on `whitespace` press
call which_key#register('<Space>', "g:which_key_map")
" reassign default space behaviour in normal mode
nmap <SPACE> <Nop>
" map fuzzy search on double space
noremap <Leader><SPACE> :ProjectFiles<CR>
let g:which_key_map['SPACE'] = 'project-files'
" open `whichkey` after single space press and small wait
nnoremap <silent> <leader>      :<c-u>WhichKey '<Space>'<CR>


git에 대한 예제 바인딩



vim-fugitive에 대한 몇 가지 유용한 바인딩을 추가합니다.

let g:which_key_map.g = { 'name': '+git' }
noremap <Leader>gs :G<CR>
let g:which_key_map.g.s = 'git-status'
noremap <Leader>gc :Gcommit<CR>
let g:which_key_map.g.c = 'git-commit'
noremap <Leader>gd :Gdiffsplit!<CR>


이러한 바인딩은 git - status 또는 git - commit 로 쉽게 기억할 수 있습니다.


그게 다야! vim에 대한 다른 유용한 핵을 알고 있다면 토론해 봅시다! ✨

좋은 웹페이지 즐겨찾기