Post

1. Echoing Messages

  • :echo : 화면에 메시지 출력
  • :echom : 화면에 메시지 출력
  • :messages : 저장된 메시지 확인
  • :echo vs :echom : :echo는 화면에 메시지를 출력하고, :echom은 메시지를 출력하고, 메시지를 저장한다. 저장된 메시지는 :messages 명령어로 확인할 수 있다.

2. Setting Options

  • :set number : 줄 번호 표시
  • :set nonumber : 줄 번호 숨김
  • :set number! : 줄 번호 표시/숨김 토글
  • :set number? : 줄 번호 표시 여부 확인
  • :set numberwidth=10 : 줄 번호 너비 설정
  • :set number numberwidth=10 : 줄 번호 표시 및 너비 설정

3. Basic Mapping

  • :map - x : - 키를 누르면 x를 입력한 것과 같은 효과
  • :map - dd : - 키를 누르면 dd를 입력한 것과 같은 효과
  • :map <space> viw : 스페이스바를 누르면 단어를 선택한 것과 같은 효과
  • :map <c-d> dd : Ctrl + d 키를 누르면 dd를 입력한 것과 같은 효과

4. Modal Mapping

  • :nmap \ dd : normal 모드에서 \ 키를 누르면 dd를 입력한 것과 같은 효과
  • :vmap \ U : visual 모드에서 \ 키를 누르면 U를 입력한 것과 같은 효과
  • :imap <c-d> dd : insert 모드에서 Ctrl + d 키를 누르면 dd를 입력한 것과 같은 효과
  • :imap <c-d> <esc>ddi : insert 모드에서 Ctrl + d 키를 누르면 <esc>ddi를 입력한 것과 같은 효과

5. String Mapping

  • map이 재귀적으로 동작하는 것을 방지하기 위해 noremap을 사용한다.
  • map, nmap, vmap, imap에 각각 대응하는 noremap, nnoremap, vnoremap, inoremap이 있다대
  • 매핑을 할때는 항상 기본 map대신 noremap을 사용하면 된다.
  • 아래는 \를 눌러도 별도 매핑한 dd가 실행되지 않고, 현재 커서가 있는 줄의 문자를 삭제하는 x의 기능을 수행한다.
    1
    2
    
    :nmap x dd
    :nnoremap \ x
    

6. Leaders

  • 리더키를 사용하여 기존 매핑과 충돌을 방지할 수 있다.
  • :let mapleader = “-“ : 리더키를 -로 설정
  • :nnoremap <leader>d dd : 리더키 + d를 누르면 dd를 입력한 것과 같은 효과
  • :let maplocalleader = “\\” : 특정 파일에서만 사용할 리더키를 설정 (vimscript에서 \는 이스케이프 문자이므로 \\로 설정)
  1. Editing Your Vimrc
  2. Abbreviations
  3. More Mappings
  4. Training Your Fingers
  5. Buffer-Local Options and Mappings
  6. Autocommands
  7. Buffer-Local Abbreviations
  8. Autocommand Groups
  9. Operator-Pending Mappings
  10. More Operator-Peding Mappings
  11. Status Lines
  12. Responsible Coding
  13. Variables
  14. Variable Scoping
  15. Conditional
  16. Comparisons
  17. Functions
  18. Function Arguments
  19. Numbers
  20. Strings
  21. String Functions
  22. Execute
  23. Normal
  24. Execute Normal!
  25. Basic Regular Expressions
  26. Case Study: Grep Operator, Part One
  27. Case Study: Grep Operator, Part Two
  28. Case Study: Grep Operator, Part Three
  29. Lists
  30. Looping
  31. Dictionaries
  32. Toggling
  33. Functional Programming
  34. Paths
  35. Creating a Full Plugin
  36. Plugin Layout in the Dark Ages
  37. A New Hope: Plugin Layout with Pathogen
  38. Detecting Filetypes
  39. Baic Syntx Highlighting
  40. Advanced Syntax Highlighting
  41. Even More Advanced Syntax Highlighting
  42. Basic Folding
  43. Advanced Folding
  44. Section Movement Theory
  45. Potion Section Movement
  46. External Commands
  47. Autoloading
  48. Documentation
  49. Distribution

Learn Vimscript the Hard Way를 읽고 정리한 내용입니다.

This post is licensed under CC BY 4.0 by the author.