Vim session

vimtutor

intro

  1. vim history (where I can use vim,vi,git diff)
  2. how to install vim on atom/vs/chrome/terminal
  3. edit a file with vi
  4. vim/unix shortcut
  5. vim tips
  6. @H_403_19@

    vim vs other editors

    so fast and lite
    can open big file
    write code without mouse
    pipe(compose) everything (command,text)

    related

    http://www.vim.org/
    http://www.openvim.com/

    VIM 练级攻略
    http://coolshell.cn/articles/...

    vim cheatsheet
    https://kapeli.com/cheat_shee...

    vim notes
    http://www.boydwang.com/2016/...

    vimscript
    http://learnvimscriptthehardw...

    vim skills
    http://vimcasts.org/

    vim tips
    http://vim.wikia.com/wiki/Bes...

    meet surround
    https://github.com/tpope/vim-...

    Vim 的纵向编辑模式

    Demo:
    10.1.5.214
    10.1.5.212
    10.1.5.210
    ->
    ping -c 4 10.5.5.214 >> result0
    ping -c 4 10.5.5.212 >> result0
    ping -c 4 10.5.5.210 >> result0

    Solution:

    @H_301_66@
  7. 第一步:修改
  8. 将 IP 数列中第二段所有数字“1” 修改为“5”,将游标定位第一个行的“1”,ctrl-v 进入纵向编辑模式,G 移动游标到最后一行,可视块覆盖所要修改的列,r 进入修改模式,输入数字“5”

    @H_301_66@
  9. 第二步:前添加
  10. 在所有行之前添加“ping – c 4 ”,将游标定位到第一行第一列,G 移动游标到最后一行第一列,可视块覆盖了第一列,I 进入行首插入模式,输入所要求字符“ping – c 4

    @H_301_66@
  11. 第三步:后添加“>> result0”:
  12. 将游标定位到第一行最后一列,G 移动游标到最后一行最后一列,覆盖了最后一列,A 进入行尾插入模式输入所要求字符“>> result0”
    以上三个步骤有一个共同特点,就是都纵向为编辑方向

    vim class1 -basic motions and commands

    vim class2

    @H_301_66@
  13. g+g (go to beginning)
  14. G(jump to the end of file)
  15. shift+z+z (= Esc+ : +wq)
  16. Esc+q+! (force quit)
  17. Esc(ctrl + c)
  18. Mode

    @H_301_66@
  19. Insert
  20. Normal
  21. Command(:w filename - save the file)
  22. Visual
  23. Insert -> Normal : ESC/Ctrl+[ Insert -> Command : (Insert -> Normal) -> : Command -> Normal : Enter
    Pen to the page

    (i=insert、a=append、r=replace)

    @H_301_66@
  24. i-Enter insert mode at cursor
  25. I-Enter insert mode at first non-blank character
  26. a-Enter insert mode after cursor
  27. A-Enter insert mode at the end of the line
  28. o-Enter insert mode on the next line
  29. O-Enter insert mode on the prevIoUs line
  30. s-Delete character under cursor and enter insert mode
  31. S-Delete line and begin insert at beginning of same line
  32. C-Delete from cursor to end of line and begin insert
  33. Scanning the canvas

    ------k

    h-----------L

    ------j
    2j(move down two lines)
    Basics

    @H_301_66@
  34. w - Forward to the beginning of next word(Example,cw-change word,diw-delete word)
  35. W-Forward to the beginning of next WORD(after whiteSpace)
  36. b-Backward to the next beginning of a word
  37. B-Backward to the next beginning of a WORD
  38. e-Forword to the next end of word
  39. E-Forword to the next end of WORD
  40. 0/home-Move to the zeroth character of the line
  41. $-Move to the last character of the line
  42. ^-Move to the first non-blank character of the line
  43. H-光标移到当前屏幕最上方行的第一个字符
  44. M-光标移到当前屏幕最中间行的第一个字符
  45. L-光标移到当前屏幕最下方行的第一个字符
  46. G-到此文件最后一行
  47. nG-移动到第n行
  48. gg-相当于1G,即回到行首
  49. 块操作(ctrl + v)

    @H_301_66@
  50. ctrl + v(开启块操作)
  51. hjkl移动光标
  52. I— (插入—)
  53. ESC键来使每一行生效
  54. n+Enter - 光标下移n行

    1. [n]f - Forward until (nth)(o) (Inclusive)
    2. [n]F - Backward until (nth)(o) (Inclusive)
    3. [n]t - Forward until (nth)(o) (Exclusive)
    4. [n]T - Backward until (nth)(o) (Exclusive)
    5. @H_403_19@

      Search:

      @H_301_66@
    6. / search forward
    7. ? search backward
    8. '*' 聚焦当前cursor forword(bounded)
    9. n-next result,forward
    10. N-next result,backward
    11. '#' 当前cursor下的指令 backward(bounded)
    12. :set ignorecase -- will search ignore case /c forward -- will case insensitive to find forward
      Replace

      @H_301_66@
    13. :%s/foo/bar/g (在当前文件查找foo替换成bar)
    14. :s/foo/bar/g (在当前行查找foo替换成bar)
    15. :%s/foo/bar/gc
    16. :%s/<foo>/bar/gci/I (foo only whole words,ask for confirmation,case insensitive/sensitive)
    17. n1,n2s/foo/bar/g(在n1行n2行查找foo替换成bar)
    18. Copy/Paste

      @H_301_66@
    19. y-Yank. Example: 2yy(copy current two lines)
    20. p-将已复制的粘贴到光标所在下一行
    21. P-将已复制的粘贴到光标所在上一行
    22. v-visual selection
    23. Delete:

      @H_301_66@
    24. x/X 删除光标处字符,光标前的字符
    25. dd(删除所在行)
    26. ndd(删除光标所在行以下n行)
    27. d1G(删除光标所在行到第一行所有数据)
    28. dG(删除光标所在行到最后一行所有数据)
    29. d$(删除光标所在行到同行最后一个字符)
    30. d0(删除光标所在行到同行第一个字符)
    31. :1,8d(删除1~8行) OR VggGd
    32. Undo

      @H_301_66@
    33. u恢复前一次所做的删除
    34. ctrl+R (undo change)
    35. .(重复上一个操作)
    36. Scroll

      @H_301_66@
    37. ctrl+f(屏幕向上滚动一页)
    38. ctrl+b(屏幕向下滚动一页)
    39. ctrl+u(屏幕向下滚动半页)
    40. ctrl+d(屏幕向下滚动半页)
    41. ifb

      @H_301_66@
    42. i向两侧扩张选择能match的string,Example,(,{,[
    43. f/t向左侧扩张选择,cursor就在当前character下/前
    44. b向右侧扩展选择 Example:yiw(delete word)
    45. vim symmary |

      动词 y p d
      操作 i f b
      选择 ( ) sentence(.)
      选择 { } paragraphs(empty line)
      选择 [[ ]] section
      format =
      convenient

      @H_301_66@
    46. zz center window
    47. "+ y copy to system clipboard
    48. *(search word)
    49. :reg (look history copy record)
    50. % (go to last matched braket)
    51. VS

      @H_301_66@
    52. ctrl+'-'(last cursor)
    53. ctrl+y(undo change in vs)
    54. System

      @H_301_66@
    55. cmd+ctrl+f (maximum screen)
    56. vim tips

      :g/^/m0: reverse all lines http://vim.wikia.com/wiki/Rev...
      = (indent)
      copy to system clipboard "+yclibboard history (:reg) "number p

相关文章

普通模式 >G 增加当前行到文档末尾处的缩紧层级 $ 移动到本行的末尾 . 相当于一个...
原文连接: https://spacevim.org/cn/layers/lang/elixir/ 模块简介 功能特性 启用模块 快捷键 语言专属...
原文连接: https://spacevim.org/cn/layers/lang/dart/ 模块简介 功能特性 依赖安装及启用模块 启用模...
 =   赋值操作符,可以用于算术和字符串赋值 +        加法计算     -        减法运算...
1.根据包名来查看指定的APP指定数据 adb shell "top | grep com.xxx.xxx" 由于这样打印出来的数...
ctrl+F 向下翻页 ctrl+B 向下翻页 u 取消最近一次操作 U 取消当前行的操作 ZZ 保存当前内容并退出 gg 跳...