vim 编辑器使用

vim 是 Linux 下非常常用的一个编辑工具,所以有必要了解一下 vim 的一下使用
技巧。

这里将 vim 的状态分成两大类:命令模式和编辑模式。当你输入命令 vim filename 时就进入了命令模式,而此时按下 i 即可进入编辑模式,进入编辑模式后可同过按 ESC 退回命令模式

跳到某一行

  • 跳到第一行:在命令模式下,连续两次按下 g
  • 跳到最后一行:在命令模式下,shift+g 即可
  • 跳到某一行:命令行模式下,通过冒号加行号即可实现,如:15 即可跳到第 15 行。
  • 跳到当前行往上或往下的 n 行:命令模式下,先按数字 n,然后按往上或往下的按钮(就是键盘上的上下左右的按钮)
  • 跳到一行的开头:可以使用键盘上的编辑键 Home, 也可以在命令模式中使用快捷键 "^"(即Shift+6)或 0(数字 0)
  • 跳到一行的末尾:以使用编辑键 End,也可以在命令模式中使用快捷键 "$"(Shift+4)。快捷键 "$" 前可以加上数字表示移动的行数。例如使用 "1$" 表示当前行的行尾,"2$" 表示当前行的下一行的行尾。

查找字符串

  • 往前查找:命令模式下输入 ?word, 按 n 往前查找下一个,shift+n 往后查找下一个
  • 往后查找:命令模式下输入 /word, 按 n 往后查找下一个,shift+n 往前查找下一个
    注:这里的往前和往后指的是文本的顺序,其实只需要记住按 n 是顺序查找,shift+n 是逆序查找即可

删除

  • 删除一行:命令模式下,光标定位到要删除的那一行,连续按下两次 d 即可
  • 删除多行:命令模式下,光标定位到要删除的那一行,先按下数字 n,然后连续按下两次 d,表示删除 n 行(包括当前行)

修改

  • 替换字符串:命令模式下输入:n1,n2s/w1/w2/g, 表示将 n1 到 n2 行的 w1 转为 w2(1 代表第一行,$ 代表最后一行,没数字为整个文本),注意前面有冒号
  • 复制:命令模式下,将光标移到需要复制的那行,然后连续两次按下 y,即可复制当前行,如果要复制多行,在按下 yy 前需要按下数字 n,表示复制包括当前光标一下的 n 行,原理同删除操作
  • 块复制:命令模式下,通过 ctrl+v 进入块复制模式,选择高亮后按 y 复制
  • 剪切:实际上上面提到的删除命令除了将所选的内容删除掉,还将其复制到了剪切板上,按下 p 即可粘贴;所以剪切实际上就是 dd+p
  • 粘贴:命令模式下,按下 p 即可将已经复制或剪切的内容复制到光标所在行下面的的一行或多行

撤销与恢复前一步的操作

  • 撤销前一步的工作:命令模式下按 u
  • 撤消后恢复前一步的工作:命令模式下按 Ctrl+u

另存为

  • 命令模式下输入:n1,n2 w new_file_name 可将修改文本 n1 到 n2 行(不加数字为整个文本)另存为其他文件