내 개발 환경 설정(2부)
파트 2 시간입니다.
6. vim 구성
vim을 배우고 익숙해지는 것이 어렵다는 것을 알지만 여기에 제 비밀이 있습니다 🤐.
인터넷에서 vim 팁 및 구성에 대해 조사한 결과 다음을 찾았습니다. https://github.com/sohjiro/.vim
예, vim을 설정하고 일부 스테로이드를 추가하는 쉘 스크립트입니다.
다음 명령을 실행하십시오.
curl -L https://raw.githubusercontent.com/sohjiro/.vim/master/run_config.sh | sh
그게 다야 💪.
6.1. vim에서 0x7A69 색상 오류 수정(선택 사항)
이제 vim을 열어보십시오(물론
vim
명령으로).어떤 이유로 누락된 색상
0x7A69
에 대한 오류가 발생했습니다. 전에는 나에게 그런 일이 없었지만 당신에게도 그런 일이 일어난다면 여기에 해결책이 있습니다.여기에서 파일
0x7A69_dark.vim
을 다운로드하십시오.https://www.vim.org/scripts/script.php?script_id=4695
그리고 다음을 수행하십시오.
mkdir -p ~/.vim/colors
# <path> is the path where the 0x7A69_dark.vim file is located
mv <path>/0x7A69_dark.vim ~/.vim/colors
다음에 vim을 열면 수정될 것입니다.
6.2. vim에서 이상한 백스페이스 문자 수정(선택 사항)
색상 오류를 해결한 후 키보드 테스트를 시작했고 백스페이스를 누를 때 항상
^?
문자 😫가 표시되는 것을 발견했습니다.저게 뭐에요? 잘 모르겠지만 이 문제를 해결하는 방법은 파일
.zshrc
을 편집하고(Zsh를 사용하고 있다는 것을 기억하십시오. 맞습니까?) 맨 아래에 다음 줄을 추가합니다.stty erase '^?'
해결 🔨.
7. vim 플러그인 설치
6단계에서 설치한 구성에는 일부 내장 플러그인이 있습니다.
설치하려면 vim을 열고 다음을 입력하십시오.
:PlugInstall
모든 것이 설치될 때까지 기다리십시오.
8. vim 마스터하기: NerdTree는 당신의 친구입니다.
7단계에서 말씀드린 플러그인 중 하나는 NerdTree입니다. 이 플러그인을 사용하면 현재 디렉토리 열기, 파일 찾아보기, 파일 추가/이름 바꾸기/제거/이동/복사 등을 수행할 수 있습니다. 멋지지 않나요?.
사용하려면 vim을 열고 다음을 입력하십시오.
:NerdTreeToggle
현재 디렉토리를 열어야 할 때마다... 다소 지루하지만 좋은 점은 명령을 키보드 조합에 매핑할 수 있다는 것입니다.
파일
~/.vim/vim_config.vim
을 편집하고 다음 줄을 추가합니다.noremap <C-w>n :NERDTreeToggle<cr>
vim을 다시 시작하고 이제
Ctrl-w + n
를 누르면 됩니다. NerdTree를 닫으려면 조합을 다시 누르십시오.마지막으로 디렉터리나 파일에 대한 작업(이동, 복사, 삭제 등)을 수행하려면 NerdTree를 열고 커서를 원하는 디렉터리나 파일로 이동한 다음
m
를 누릅니다.원하는 옵션을 선택하십시오.
9. vim 마스터하기: 창 분할
동시에 2개 이상의 파일을 열어야 하는 경우가 있으므로 창 분할이 도움이 됩니다.
다시 파일
~/.vim/vim_config.vim
을 편집하고 다음 줄을 추가합니다.noremap <C-w>- :split<cr>
noremap <C-w>\| :vsplit<cr>
vim을 다시 시작하고 이제
Ctrl-w + -
를 눌러 현재 창을 수평으로 분할합니다.그리고
Ctrl-w + |
(파이프 문자)는 현재 창을 세로로 분할합니다.패널 사이를 전환하려면
Ctrl+ w
를 두 번 누르십시오. 패널을 닫으려면 Ctrl-w + c
를 누르십시오.이제 NerdTree와 창 분할을 혼합하여 원하는 만큼 파일을 여세요!
10. vim 마스터하기: 파일 버퍼 삭제
Sublime Text, Visual Code 또는 IDE를 사용하면 어떤 파일 작업을 마쳤을 때 그냥 닫으면 됩니다. 글쎄, 이것은 vim에서 동일하지 않습니다. 패널을 닫을 수 있지만(
Ctrl-w + c
) 버퍼는 여전히 존재합니다 😫. 다행히 현재 버퍼를 닫는 방법을 찾았습니다! 🤓~/.vim/plugin/bclose.vim
에 새 파일을 생성하고(플러그인 디렉토리가 존재하지 않는 경우 함께 생성하십시오) 다음을 붙여넣습니다(vim.wikia에 대한 크레딧):" Delete buffer while keeping window layout (don't close buffer's windows).
" Version 2008-11-18 from http://vim.wikia.com/wiki/VimTip165
if v:version < 700 || exists('loaded_bclose') || &cp
finish
endif
let loaded_bclose = 1
if !exists('bclose_multiple')
let bclose_multiple = 1
endif
" Display an error message.
function! s:Warn(msg)
echohl ErrorMsg
echomsg a:msg
echohl NONE
endfunction
" Command ':Bclose' executes ':bd' to delete buffer in current window.
" The window will show the alternate buffer (Ctrl-^) if it exists,
" or the previous buffer (:bp), or a blank buffer if no previous.
" Command ':Bclose!' is the same, but executes ':bd!' (discard changes).
" An optional argument can specify which buffer to close (name or number).
function! s:Bclose(bang, buffer)
if empty(a:buffer)
let btarget = bufnr('%')
elseif a:buffer =~ '^\d\+$'
let btarget = bufnr(str2nr(a:buffer))
else
let btarget = bufnr(a:buffer)
endif
if btarget < 0
call s:Warn('No matching buffer for '.a:buffer)
return
endif
if empty(a:bang) && getbufvar(btarget, '&modified')
call s:Warn('No write since last change for buffer '.btarget.' (use :Bclose!)')
return
endif
" Numbers of windows that view target buffer which we will delete.
let wnums = filter(range(1, winnr('$')), 'winbufnr(v:val) == btarget')
if !g:bclose_multiple && len(wnums) > 1
call s:Warn('Buffer is in multiple windows (use ":let bclose_multiple=1")')
return
endif
let wcurrent = winnr()
for w in wnums
execute w.'wincmd w'
let prevbuf = bufnr('#')
if prevbuf > 0 && buflisted(prevbuf) && prevbuf != w
buffer #
else
bprevious
endif
if btarget == bufnr('%')
" Numbers of listed buffers which are not the target to be deleted.
let blisted = filter(range(1, bufnr('$')), 'buflisted(v:val) && v:val != btarget')
" Listed, not target, and not displayed.
let bhidden = filter(copy(blisted), 'bufwinnr(v:val) < 0')
" Take the first buffer, if any (could be more intelligent).
let bjump = (bhidden + blisted + [-1])[0]
if bjump > 0
execute 'buffer '.bjump
else
execute 'enew'.a:bang
endif
endif
endfor
execute 'bdelete'.a:bang.' '.btarget
execute wcurrent.'wincmd w'
endfunction
command! -bang -complete=buffer -nargs=? Bclose call s:Bclose('<bang>', '<args>')
nnoremap <silent> <Leader>bd :Bclose<CR>
그런 다음 파일
~/.vim/vim_config.vim
을 편집하고 다음 줄을 추가합니다.noremap <C-w>b :Bclose<cr>
vim을 다시 시작하고 아무 파일이나 엽니다.
Ctrl-w + b
를 누르면 짜잔!지금은 여기까지입니다.
궁금한 점이 있으면 언제든지 문의하세요!
읽어주셔서 감사합니다 ❤️
Reference
이 문제에 관하여(내 개발 환경 설정(2부)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jorge_rockr/my-development-environment-setup-part-2-4ck9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)