vim入门

zhangxl0 2020-05-30

1.优雅的移动

1.1在行内移动光标

  1. $(shift + 4) = 直接跳转到行末
  2. ^(shift + 6) = 再次跳回行首

1.2跨行移动

  1. 数字 + 方向键 = 一次性跳多行
  2. ctrl + f/b = 往前或往后翻
  3. G(shift + g) = 直接跳到文件最末行
  4. gg = 回到文件第一行

1.3定向移动(查找)

  1. /text = 直接跳转到text位置
  2. n/N = 如果text在文件中多次出现,用n/N向下/上跳转。
  3. /^$ = 查找空白行
  4. /II(/+Tab+Tab) = 查找制表符分隔的数据是否存在空值。

2.奇怪的文件格式与编码

  1. :set list/nolist = 显示制表符和行尾/取消
  2. :set fileencoding = 查看当前文件编码
  3. :e ++enc=gb18030 = 强行使用GB18030编码重新打开文件

3.愉快地编辑

3.1 进入编辑模式

  1. i = 在光标原有位置进入编辑模式
  2. o = 在光标所在行另起一行进入编辑模式
  3. A = 在光标所在行行末进入编辑模式
  4. I = 在光标所在行行首进入编辑模式
  5. a = 在光标右边开始插入(与光标移动命令搭配使用)
  6. O = 在光标所在处往上另起一行进入编辑模式(一般用于文首插入空白行)

3.2命令模式下的简单编辑

  1. x = 剪切
  2. v = 选中文本
  3. d = 删除
  4. dd = 删除一行
  5. 数字 + dd = 删除若干行
  6. :n,md = 删除第n行到第m行
  7. v模式 + y 或 yy = 复制
  8. p = 粘贴
  9. u = 撤回最近修改

3.3批量编辑(替换)

  1. :%s/old/new/g = 在全文范围将所有old替换成new,最后的g表示作用到范围中的所有匹配,没有g表示仅作用到所属范围每一行的首个匹配。
  2. 结合^/$, 可以使用查找替换命令在多行的行首或行末添加内容。如:8,16s/^/#实现对8到16行添加注释。

3.3.1作用范围

  1. %s = 全文范围
  2. s = 光标所在行
  3. n,ms = 从第n行到第m行
  4. .,$s = 光标所在行到文末

3.4vimdiff

  • vimdiff file1 file2 = 定位两个文件的异同

3.5分屏

  1. vim -O file1 file2 = 竖屏打开两个文件
  2. :vs file2 = 打开file1后,分屏打开file2
  3. ctrl + w + h/j/k/l = 精确控制window之间的跳转
  4. ctrl + w + w = 跳转到下一个window
  5. ctrl + w + c = 关掉窗口

相关推荐

zycglboy / 0评论 2020-05-21