사용자 도구

사이트 도구


vim

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
vim [2016/09/27 09:32]
kwon37xi [Plugins]
vim [2019/09/11 12:57] (현재)
kwon37xi
줄 1: 줄 1:
-[[http://​www.vim.org|Vim]]에 관해 정리한다.+====== ​Vim ======
  
 +[[http://​www.vim.org|Vim]]에 관해 정리한다.
 +  * [[vim:​windows|Vim for Windows]]
   * [[http://​www.vimgolf.com/​|Vim Golf]]   * [[http://​www.vimgolf.com/​|Vim Golf]]
  
 ====== .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 창 최대로 실행 혹은 시작시 창크기 지정]]
줄 132: 줄 163:
   * [[http://​stackoverflow.com/​questions/​10394302/​how-do-i-use-vi-keys-in-ipython-under-nix|python - How do I use vi keys in ipython under *nix?]] ''​~/​.ipython/​profile_default''<​code sh>   * [[http://​stackoverflow.com/​questions/​10394302/​how-do-i-use-vi-keys-in-ipython-under-nix|python - How do I use vi keys in ipython under *nix?]] ''​~/​.ipython/​profile_default''<​code sh>
 c.TerminalInteractiveShell.editing_mode = '​vi'​ c.TerminalInteractiveShell.editing_mode = '​vi'​
 +</​code>​
 +  * ''​readline''​ 사용하는 애플리케이션 공통(ipython 등 포함) ''​~/​.inputrc''<​code sh>
 +set editing-mode vi
 +set keymap vi
 +set convert-meta on
 +</​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>​ </​code>​
  
줄 170: 줄 229:
   * [[http://​vim-bootstrap.com/​|Vim Bootstrap]] 기본 설정파일 생성기   * [[http://​vim-bootstrap.com/​|Vim Bootstrap]] 기본 설정파일 생성기
   * [[https://​www.reddit.com/​r/​vim/​comments/​4dlacf/​vim_essentials_articles_videos_ressources/​|Vim Essentials]]   * [[https://​www.reddit.com/​r/​vim/​comments/​4dlacf/​vim_essentials_articles_videos_ressources/​|Vim Essentials]]
 +  * [[https://​vimebook.com/​en|VimBook]] 
 +  * [[http://​vim.wikia.com/​wiki/​Avoid_the_escape_key|Avoid the escape key | Vim Tips Wiki]] 
 +  * [[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]]
vim.1474938120.txt.gz · 마지막으로 수정됨: 2016/09/27 09:32 저자 kwon37xi