사용자 도구

사이트 도구


vim

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
vim [2019/09/11 12:57]
kwon37xi
vim [2021/12/15 10:25] (현재)
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>   * [[http://vim.wikia.com/wiki/Open_vimrc_file|Open vimrc file]] ''vim''을 실행하고 ''version'' 명령을 내리면 설정파일의 기본 위치와 파일명을 확인할 수 있다. <code>
 :version :version
줄 39: 줄 41:
       $HOME/vimfiles/after"             $HOME/vimfiles/after"      
 </code> </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 창 최대로 실행 혹은 시작시 창크기 지정]]
   * <code vim>   * <code vim>
줄 46: 줄 49:
 </code> </code>
  
-====== 파일이 존재할 경우 설정 읽어들이기 ======+===== 파일이 존재할 경우 설정 읽어들이기 =====
 ''~/.vimrc_pc''라는 파일이 존재하면 해당 파일을 읽어 들인다. [[https://www.dropbox.com/referrals/NTEzODMxNDQ5OQ|DropBox]]를 통해 설정 파일을 동기화 하면서, 각 PC별로 따로 설정을 저장하고 읽어들이는데 사용한다. ''~/.vimrc_pc''라는 파일이 존재하면 해당 파일을 읽어 들인다. [[https://www.dropbox.com/referrals/NTEzODMxNDQ5OQ|DropBox]]를 통해 설정 파일을 동기화 하면서, 각 PC별로 따로 설정을 저장하고 읽어들이는데 사용한다.
  
줄 55: 줄 58:
 </code> </code>
  
-====== ~/.vimrc 설정 다시 적용 reload ======+===== ~/.vimrc 설정 다시 적용 reload =====
   * 현재 화면에 ''.vimrc'' 파일을 열고 있는 상태라면 '':so %'' : 현재 열고 있는 파일을 source로 읽으라는 의미   * 현재 화면에 ''.vimrc'' 파일을 열고 있는 상태라면 '':so %'' : 현재 열고 있는 파일을 source로 읽으라는 의미
   * 일반적인 상황에서는 '':so $MYVIMRC''   * 일반적인 상황에서는 '':so $MYVIMRC''
  
-====== 환경변수 확인 ======+===== 환경변수 확인 =====
   * [[http://superuser.com/questions/86246/where-should-vimrc-file-be-located-on-windows-7|Where should .vimrc file be located on Windows 7?r]] 참조   * [[http://superuser.com/questions/86246/where-should-vimrc-file-be-located-on-windows-7|Where should .vimrc file be located on Windows 7?r]] 참조
 <code vim> <code vim>
줄 69: 줄 72:
 </code> </code>
  
-====== GUI 환경에서만 설정 적용 ======+===== GUI 환경에서만 설정 적용 =====
 <code vim> <code vim>
 if has("gui_running") if has("gui_running")
줄 76: 줄 79:
 </code> </code>
  
-====== GUI 환경에서 글꼴 설정 ======+===== GUI 환경에서 글꼴 설정 =====
   * [[http://vim.wikia.com/wiki/Setting_the_font_in_the_GUI|GVIM의 글꼴 설정 문자열을 어떻게 지정해야 할지 혼란스러울 때 이 방법]]을 사용한다.   * [[http://vim.wikia.com/wiki/Setting_the_font_in_the_GUI|GVIM의 글꼴 설정 문자열을 어떻게 지정해야 할지 혼란스러울 때 이 방법]]을 사용한다.
   * '':set guifont=*'' : 명령을 실행하면 글꼴을 선택해서 즉시 지정하는게 가능하다. 일단 이렇게 원하는 글꼴을 지정한 뒤에   * '':set guifont=*'' : 명령을 실행하면 글꼴을 선택해서 즉시 지정하는게 가능하다. 일단 이렇게 원하는 글꼴을 지정한 뒤에
줄 83: 줄 86:
   * Windows 에서는 글꼴을 지정하는 설정 파일이 ANSI로 저장돼 있어야만 한다. 설정 파일의 인코딩을 ''set fileencoding=cp949'' 로 지정한다.   * Windows 에서는 글꼴을 지정하는 설정 파일이 ANSI로 저장돼 있어야만 한다. 설정 파일의 인코딩을 ''set fileencoding=cp949'' 로 지정한다.
  
-====== 키보드 화살표 사용금지 ======+===== 키보드 화살표 사용금지 =====
 <code vim> <code vim>
 inoremap <Up>      <NOP> inoremap <Up>      <NOP>
줄 91: 줄 94:
 </code> </code>
  
-====== HTML을 브라우저에서 바로열기 ======+===== HTML을 브라우저에서 바로열기 =====
   * http://stackoverflow.com/questions/8708154/open-current-file-in-web-browser-in-vim<code>   * http://stackoverflow.com/questions/8708154/open-current-file-in-web-browser-in-vim<code>
 " firefox, chrome, opera 등이 PATH에 잡혀 있어야하며, 실행파일명이 다를경우 보정해 주어야 한다. " firefox, chrome, opera 등이 PATH에 잡혀 있어야하며, 실행파일명이 다를경우 보정해 주어야 한다.
줄 102: 줄 105:
 </code> </code>
  
-====== Vim 정리 ======+===== Vim 정리 =====
   * [[vim:tips|Vim Tips]]   * [[vim:tips|Vim Tips]]
   * [[vim:explore|디렉토리 탐색 시작]]   * [[vim:explore|디렉토리 탐색 시작]]
줄 114: 줄 117:
   * [[vim:script]]   * [[vim:script]]
  
-====== Plugins ======+===== Plugins =====
   * 플러그인 설치후 플러그인 도움말을 보려면 다음을 실행한다.   * 플러그인 설치후 플러그인 도움말을 보려면 다음을 실행한다.
   * <code>   * <code>
줄 154: 줄 157:
   * [[https://github.com/wincent/terminus|Terminus]] terminal integration   * [[https://github.com/wincent/terminus|Terminus]] terminal integration
  
-====== Shell VI Key Binding ======+===== Shell VI Key Binding =====
   * bash ''~/.bashrc''<code sh>   * bash ''~/.bashrc''<code sh>
 set -o vi set -o vi
줄 170: 줄 173:
 </code> </code>
  
-====== 취약점 ====== +===== 취약점 ===== 
-===== 특정 파일 오픈시 modeline으로 명령 실행가능 =====+==== 특정 파일 오픈시 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]]   * [[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'' 이상 버전으로 업그레이드 하거나    * ''8.1.1365'' 이상 버전으로 업그레이드 하거나 
줄 179: 줄 182:
 </code> </code>
  
-===== symbol 사라짐 문제 =====+==== symbol 사라짐 문제 ====
   * [[vim:json|Vim JSON]], [[vim:markdown|Vim Markdown]] 등을 편집할 때, highlight 기능 때문에 따옴표가 사라지거나 볼드체 등을 나타내는 기호등이 사라지는 현상이 발생한   * [[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://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]]
줄 193: 줄 196:
 </code> </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]]
줄 235: 줄 247:
   * [[https://gist.github.com/csswizardry/9a33342dace4786a9fee35c73fa5deeb|Vim without NERD Tree or CtrlP]]   * [[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://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]]
 +  * [[https://vimtricks.com/|Vim Newsletter - VimTricks]]
vim.1568174243.txt.gz · 마지막으로 수정됨: 2019/09/11 12:57 저자 kwon37xi