【04】vim编辑器入门

2 阅读2分钟

[26/3/12]vim编辑器入门

参考资料:《鸟哥的 Linux 私房菜 基础篇》第 9 章

为什么学习 vim

首先,在任意的 Linux 环境下都会配备有 vi 编辑器。

而 vim 则是 vi 编辑器的进阶版。

然后,很多程序都会调用 vim 的接口,所以说不得不了解学习这个 vim。

三种模式

  1. 一般命令模式:这个模式下就是不能打字!但是可以复制粘贴之类的。
  2. 编辑模式:这个模式下才可以打字!
  3. 命令行模式:不对文本进行操作的模式。

一般命令模式

需要记住以下几个快捷键即可:

  1. u :Undo,也就是撤销,就是 win 下的 ^Z ;
  2. dd :剪切所在的这一行
  3. yy :复制所在的这一行
  4. p :Paste,粘贴
  5. /:搜索,比如想要搜索 OpenCV,就输入 /OpenCV 然后可以按 n 来向下找搜索结果(其实是启动了命令模式)
  6. : :启动命令模式

编辑模式

  1. [ESC] :退出

命令模式

  1. [ESC] :退出命令模式回到一般模式
  2. :w :write,写入文件
  3. :q :quit,退出
  4. :q! :不保存修改,强制退出(!表示强制)
  5. :wq :保存并退出,最常用
  6. :set nu :显示行号
  7. :set nonu :不显示行号
  8. G :移动到尾行
  9. nG :移动到第 n 行(n 是数字)
  10. 数字的含义就是重复多次操作,比如说 5yy 表示连续复制 5 行内容

多行操作

  1. v :多行的字符选择
  2. V :多行的行选择
  3. ^v :矩形方式的多行选择
  4. y :多行内容的复制
  5. d :多行内容的剪切
  6. p :粘贴

多文件操作

主要是为了跨文件的内容复制粘贴。

  1. vim [filename 1] [filename 2] ... :同时打开多个文件
  2. :n :下一个文件
  3. :N :上一个文件
  4. :files :列出打开的所有文件

多窗口

跨系统兼容

换行符的问题

由于 win 和 Linux 的换行符定义不相同,所以文本文件保存之后,跨系统传输之后执行的时候会出问题,这个时候可以通过一个工具来将文件内容做一个转换,转换完成之后就可以正常执行了。

  1. dos2unix [-kn] file [newfile]
  2. unix2dos [-kn] file [newfile]

编码格式的问题

可以手动转换编码格式:

  1. icov --list
  2. icov -f 原本编码 -t 新编码 filename [-o newfile]

补充说明:-f 表示 from,-t 表示 to,最后的 [-o newfile] 如果写出来了,就表示原文件保留下来,生成的新文件被另外保存。