jjnoob

vim笔记

2019-11-26
jjnoob

vim学习笔记, 自从入了60%键盘, 就有了学习vi-mode的想法. 虽然大一上就学习了vim. 不过这么长时间来, 只会打开, insert, 保存, 退出. vscode装vim插件就行, 不想折腾neovim, spacesvim之类的.

参考vimtutor

第一讲

  1. 方向键: h j k l
  2. 退出:
    • :q! 放弃所有更改. (quit)
    • :wq 保存更改
  3. 正常模式下, 删除光标所在位置的字符: x
  4. 插入 添加
    • i 在光标前插入文本 (insert)
    • a 在光标后添加文本 (add)

第二讲

删除类

  1. dw 删除当前单词并跳到下一个单词首位 (word)
  2. de 删除当前单词并跳到单词末尾(即空格) (end)
  3. d$ 从当前光标删除到行末 (正则表达式中的末尾)

使用计数指定动作

  1. 2w 使光标向前移动两个单词. (我们的行末就是”前方”)
  2. 3e 使光标向前移动到第三个单词的末尾
  3. 输入数字0, 移动光标的行首
  4. d2w 删除两个单词

操作整行

  1. dd 删除整行
  2. 2dd 删除两行

撤销类

  1. u 撤销最后执行的命令 (针对整个文本)
  2. U 撤销对整行的修改 (针对整行)
  3. CTRL-R 撤销掉”撤销命令”

  1. w 跳到下一个单词的首位
  2. e 跳到当前单词的末尾 (即空格)

第三讲

  1. p 将已经删除的文本内容置入光标之后, 最后一次删除的是一整行, 那么该行将置于当前光标所在行的下一行.
  2. r 替换光标所在位置的字符. (replace)
  3. ce cw 意义相同. 从当前光标到单词末尾都替换掉(即删除), 并进入插入模式. (change)
  4. c$, 从当前光标到行末都替换掉(即删除), 并进入插入模式

第四讲

定位及文件状态

  1. CTRL-G 页面底部出现状态信息行, 并显示当前行号
  2. G 使得当前光标直接跳到文件最后一行
  3. gg 使得当前光标直接跳到文件第一行
  4. 4G 跳到第四行

搜索类

  1. /+字符串 在文档中正向查找该字符串 (从文档开头开始搜索)
  2. ?+字符串 在文档中反向查找该字符串 (从文档末尾开始搜索)
  3. n 出现多个匹配的查找字符串时, 选择下一个字符串 (next)
  4. N 出现多个匹配的查找字符串时, 反向查找下一个字符串
  5. CTRL-O 带您跳转回较旧的位置,CTRL-I 则带您到较新的位置

配对括号的查找

  1. % 如果光标当前位置是 ()[]{}, 将光标移动到配对的括号上.

替换命令

  1. :s/old/new 在一行内替换头一个字符串 old 为新的字符串 new
  2. :s/old/new/g 在一行内替换所有的字符串 old 为新的字符串 new
  3. :#,#s/old/new/g 在两行内替换所有的字符串 old 为新的字符串 new
  4. :%s/old/new/g 在文件内替换所有的字符串 old 为新的字符串 new
  5. :%s/old/new/gc 进行全文替换时询问用户确认每个替换需添加 c 标志

第五讲

  1. :!command 用于执行一个外部命令 command。 (MS-DOS) (Unix) :!dir :!ls - 用于显示当前目录的内容。 :!del FILENAME :!rm FILENAME - 用于删除名为 FILENAME 的文件。
  2. :w FILENAME 可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文 件中。
  3. v motion :w FILENAME 可将当前编辑文件中可视模式0下选中的内容保存到文件 FILENAME 中。
  4. :r FILENAME 可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置 后面。
  5. :r !dir 可以读取 dir 命令的输出并将其放置到当前文件的光标位置后面。

第六讲

  1. o 在光标下方打开新的一行并进入插入模式
  2. O 在光标上方打开新的一行
  3. a 在光标所在位置之后插入文本
  4. A 在光标所在行的行末之后插入文本
  5. e 使光标移动到单词末尾
  6. v 进入可视模式
  7. y 复制文本
  8. yw 可以用来复制一个单词
  9. p 粘贴先前复制的文本
  10. R 进入替换模式, 直至按ESC键回到正常模式
  11. :set xxx 可以设置 xxx 选项。一些有用的选项如下: ic ‘ignorecase’ 查找时忽略字母大小写 is ‘incsearch’ 查找短语时显示部分匹配 hls ‘hlsearch’ 高亮显示所有的匹配短语
  12. :set noic 在选项前加上no可以关闭选项

下一篇 cap + hjkl

Content