사용자 도구

사이트 도구


vim

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
vim [2018/07/05 22:25]
kwon37xi
vim [2021/09/02 14:48]
kwon37xi
줄 2: 줄 2:
  
 [[http://www.vim.org|Vim]]에 관해 정리한다. [[http://www.vim.org|Vim]]에 관해 정리한다.
 +
   * [[vim:windows|Vim for Windows]]   * [[vim:windows|Vim for Windows]]
   * [[http://www.vimgolf.com/|Vim Golf]]   * [[http://www.vimgolf.com/|Vim Golf]]
 +  * [[https://keycombiner.com/collections/vim/winlinux/|Vim Keyboard Shortcuts]]
  
 ====== .vimrc 정리하기 ====== ====== .vimrc 정리하기 ======
 +  * [[http://vim.wikia.com/wiki/Open_vimrc_file|Open vimrc file]] ''vim''을 실행하고 ''version'' 명령을 내리면 설정파일의 기본 위치와 파일명을 확인할 수 있다. <code>
 +:version
 +   system vimrc file: "$VIM/vimrc"
 +     user vimrc file: "$HOME/.vimrc"
 + 2nd user vimrc file: "~/.vim/vimrc"
 +      user exrc file: "$HOME/.exrc"
 +  fall-back for $VIM: "/usr/share/vim"
 +  
 +# 경로 확인
 +:echo $HOME
 +:echo $VIM
 +
 +# 즉시 편집
 +:e $MYVIMRC
 +:e $MYGVIMRC
 +</code>
 +
   * [[https://gist.github.com/kwon37xi/f8d79278899ae1b5bdf5|My Vim Config]]   * [[https://gist.github.com/kwon37xi/f8d79278899ae1b5bdf5|My Vim Config]]
   * [[http://yanpritzker.com/2012/01/20/the-cleanest-vimrc-youve-ever-seen/|The cleanest vimrc you've ever seen]]   * [[http://yanpritzker.com/2012/01/20/the-cleanest-vimrc-youve-ever-seen/|The cleanest vimrc you've ever seen]]
   * 설정을 모두 ''.vimrc''에 때려넣지 말고 ''~/.vim/plugin/settings/gui.vim'' 처럼 **''~/.vim/plugin/settings/*.vim''**으로 기능별 파일로 분리하여 넣도록 하고, ''.vimrc''는 간결하게 유지하라.   * 설정을 모두 ''.vimrc''에 때려넣지 말고 ''~/.vim/plugin/settings/gui.vim'' 처럼 **''~/.vim/plugin/settings/*.vim''**으로 기능별 파일로 분리하여 넣도록 하고, ''.vimrc''는 간결하게 유지하라.
 +  * vim plugin 인 등의 파일이 존재하느 위치 확인<code> 
 +:help runtimepath 
 +Unix: "$HOME/.vim,                  
 +      $VIM/vimfiles,              
 +      $VIMRUNTIME,                
 +      $VIM/vimfiles/after,        
 +      $HOME/.vim/after"           
 +PC, OS/2: "$HOME/vimfiles,          
 +      $VIM/vimfiles,              
 +      $VIMRUNTIME,                
 +      $VIM/vimfiles/after,        
 +      $HOME/vimfiles/after"       
 +</code>
 ====== GVim ====== ====== GVim ======
   * [[http://vim.wikia.com/wiki/Maximize_or_set_initial_window_size|Gvim 창 최대로 실행 혹은 시작시 창크기 지정]]   * [[http://vim.wikia.com/wiki/Maximize_or_set_initial_window_size|Gvim 창 최대로 실행 혹은 시작시 창크기 지정]]
줄 140: 줄 171:
 set convert-meta on set convert-meta on
 </code> </code>
-====== 관련 자료 ======+ 
 +====== 취약점 ====== 
 +===== 특정 파일 오픈시 modeline으로 명령 실행가능 ===== 
 +  * [[https://github.com/numirias/security/blob/master/doc/2019-06-04_ace-vim-neovim.md|security/2019-06-04_ace-vim-neovim.md at master · numirias/security]] 
 +  * ''8.1.1365'' 이상 버전으로 업그레이드 하거나  
 +  * 그게 안되면 다음 설정을 ''~/.vimrc''에 추가<code> 
 +set modelines=0 
 +set nomodeline 
 +</code> 
 + 
 +===== symbol 사라짐 문제 ===== 
 +  * [[vim:json|Vim JSON]], [[vim:markdown|Vim Markdown]] 등을 편집할 때, highlight 기능 때문에 따옴표가 사라지거나 볼드체 등을 나타내는 기호등이 사라지는 현상이 발생한 
 +  * [[https://vi.stackexchange.com/questions/7258/how-do-i-prevent-vim-from-hiding-symbols-in-markdown-and-json|syntax highlighting - How do I prevent vim from hiding symbols in markdown and json? - Vi and Vim Stack Exchange]] 
 +  * [[https://johngrib.github.io/wiki/vim-conceallevel/|conceallevel (Vim)]] 
 +  * 일시적 변경<code> 
 +:set conceallevel=0 
 +</code> 
 +  * 영구적 변경 [[https://vi.stackexchange.com/questions/12520/markdown-in-neovim-which-plugin-sets-conceallevel-2|Markdown in Neovim: which plugin sets conceallevel=2?]] : 설정파일에서 설정해도 자꾸 ''conceallevel''이 변경된다면 ''verbose set conceallevel''로 어느 플러그인에서 변경했는지 확인가능<code> 
 +" indentLine 플러그인이 자꾸 concealLevel을 변경하기 때문에 함께 설정 필요 
 +" 다른 플러그인에서도 강제 변경이 이뤄진다면 설정 필요할 수 있음 
 +let g:indentLine_setConceal = 0 
 +set conceallevel=0 
 +</code> 
 + 
 +===== 단축키 매핑확인 ===== 
 +  * '':verbose 모드 키'' 명령으로 해당 키에 해당 모드에서 단축키가 할당돼 있는지, 어느 설정파일/플러그인에서 할당했는지를 확인할 수 있다. 
 + 
 +<code> 
 +# :verbose 모드 키 
 +:verbose imap <Tab> 
 +</code> 
 +===== 관련 자료 =====
   * [[http://www.openvim.com/|OpenVim]] Vim Tutorial   * [[http://www.openvim.com/|OpenVim]] Vim Tutorial
 +  * [[https://github.com/mhinz/vim-galore|Vim Galore]]
   * [[http://www.yolinux.com/TUTORIALS/LinuxTutorialAdvanced_vi.html|VI and VIM editor: Tutorial and advanced features]]   * [[http://www.yolinux.com/TUTORIALS/LinuxTutorialAdvanced_vi.html|VI and VIM editor: Tutorial and advanced features]]
   * [[http://vim.wikia.com/wiki/Vim_Tips_Wiki|Wikia Vim Tips]]   * [[http://vim.wikia.com/wiki/Vim_Tips_Wiki|Wikia Vim Tips]]
줄 179: 줄 242:
   * [[http://vim.wikia.com/wiki/Avoid_the_escape_key|Avoid the escape key | Vim Tips Wiki]]   * [[http://vim.wikia.com/wiki/Avoid_the_escape_key|Avoid the escape key | Vim Tips Wiki]]
   * [[https://nolboo.kim/practical-vim/|Practical Vim 정리 요약]]   * [[https://nolboo.kim/practical-vim/|Practical Vim 정리 요약]]
 +  * [[https://johngrib.github.io/wiki/vim-auto-completion/?fbclid=IwAR2wX16xJ6eGj7vZqBBiGQdaQlUqj6_9Tzq7FY05iFkivah2j_s3YYXnNbU|vim 자동완성 기능 사용하기 - 기계인간 John Grib]]
 +  * [[https://gist.github.com/csswizardry/9a33342dace4786a9fee35c73fa5deeb|Vim without NERD Tree or CtrlP]]
 +  * [[https://danielmiessler.com/study/vim/|Learn vim For the Last Time: A Tutorial and Primer | Daniel Miessler]]
 +  * [[https://blog.koriel.kr/where-vim-came-from/|Vim은 어디서 왔나]]
 +  * [[https://github.com/neoclide/coc.nvim|akrawchyk/awesome-vim: The Vim plugin shortlist]]
 +  * [[https://www.youtube.com/watch?v=CcgO_CV3iDo|(1) Vim as IDE: Demo - YouTube]]
 +  * [[https://www.moolenaar.net/habits.html|Vim: Seven habits of effective text editing]]
 +  * [[https://edward0im.github.io/technology/2020/09/17/vim/|(Linux) Vim 에디터 다양한 기능 설명 및 C++/Python 개발환경설정 · Edward Im]]
 +  * [[https://vim.rtorr.com/|Vim Cheat Sheet]]
vim.txt · 마지막으로 수정됨: 2021/12/15 10:25 저자 kwon37xi