跳到主要内容

VIM

2023年03月25日
柏拉文
越努力,越幸运

一、认识


vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

二、模式


2.1 正常模式

可以使用快捷键命令,或按:输入命令行。

2.2 命令模式

:输入命令行。输入的内容当做命令看待。命令模式下,按下任何键没有任何反应,只有输入命令,才有效果

2.3 插入模式

可以输入文本,在正常模式下,按iao等都可以进入插入模式。按 Esc 退出插入模式。

2.4 可视模式

正常模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本。按V进入可视行模式, 总是整行整行的选中。ctrl+v进入可视块模式。

2.5 替换模式

正常模式下,按R进入。按 Esc 退出插入模式。

三、命令


3.1 启动

  • vim [file]: 从文件的末尾开始

3.2 编辑

  • i: 在光标前添加文本,并进入插入模式。

  • a: 在光标后添加文本,并进入插入模式。

  • r: 在当前光标位置替换文本, 不会进入插入模式。

  • o: 在当前行后面插入一空行

  • O: 在当前行前面插入一空行

  • cw: 替换光标所在处的单词, 会进入插入模式

  • dw: 删除光标所在处的单词, 不会进入插入模式

  • x: 删除光标后字符,不会进入插入模式

  • X: 删除光标前字符,不会进入插入模式

  • d$: 删除光标之后字符

  • dd: 删除光标所在行字符

  • :s/XX/YY: 替换当前行第一个 XX 为 YY

  • :s/XX/YY/g: 替换当前行所有 XX 为 YY

  • :n,ms/XX/YY/g: 替换第 n 行开始到 m 行中每一行所有 XX 为 YY

  • :n,$s/XX/YY/g: 替换第 n 行开始到最后一行中每一行所有 XX 为 YY

3.3 保存

  • :x: 保存并退出

  • :wq: 保存并退出

  • :w: 保存修改

  • :q: 退出当前窗口

  • :U: 撤销更改

3.4 光标移动

  • k: 向上移动光标

  • j: 向下移动光标

  • h: 向左移动光标

  • l: 向右移动光标

  • n 加数字然后回车: 光标往后移动 n

  • w: 使光标向前跳过一个单词

  • b: 使光标向后跳过一个单词

  • ma: 光标移动到起始行

  • mb: 标移动到结束行

  • mc: 光标移动到粘贴行

  • $: 光标移至当前行尾

  • 0: (注意是数字零)光标移至当前行首

  • H: 光标移至屏幕顶行

  • M: 光标移至屏幕中间行

  • L: 最后行

四、问题


  • 问题一、如果遇到 :wq 无法保存的时候,提示只读, 那么退出后通过 sudo vim 文件名称 重新编辑即可