必知必会的 Vim 编辑器基础命令

发表于:2020-3-31 09:59

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:Linux中国

  如果你是一名系统管理员或者开发者,当你在终端工作时有时会需要编辑一个文件。在 Linux 系统中有几种文件编辑器,你可以根据需求选择合适的文件编辑器。在这里,我想推荐 Vim 编辑器。
  
  为什么推荐 Vim 编辑器
  相对于创建新文件,你更多是修改已经存在的文件。在这种情况下,Vim 快捷键可以有效地满足你的需求。
  什么是 Vim
  Vim 是被 Linux 管理员和开发者广泛使用的最流行和功能强大的编辑器之一。它可以通过高度的自定义配置来提高文本编辑效率。它是在众多 Unix 默认安装的 Vi 编辑器的升级版。
  Vim 通常被称为“程序员的编辑器”,但并不限于此,它也可用于编辑任何类型的文件。它具有许多功能,例如:多次撤销、多窗口和缓冲区、语法高亮、命令行编辑、文件名补全、可视选择等等。你可以使用 :help 命令来获取在线帮助。
  理解 Vim 的模式
  Vim 有两种模式,详细介绍如下:
  命令模式: 当启动 Vim 编辑器后,默认处在命令模式下。你可以在文件中移动并且修改内容,剪切、复制和粘贴文件的一部分,同时发出命令执行更多操作(按 ESC 键进入命令模式)
  插入模式: 插入模式用于在给定的文档位置插入文本(按 i 键进入插入模式)
  我如何知道我正使用哪种 Vim 模式呢?
  如果你正在使用插入模式,你会在编辑器的底部看到 INSERT。如果编辑器底部没有显示任何内容,或者在编辑器底部显示了文件名,则处于 “命令模式”。
  命令模式下的光标移动
  Vim 快捷键允许你使用不同的方式来移动光标:
  G – 跳转到文件最后一行
  gg – 跳转到文件首行
  $ – 跳转到行末尾
  0(数字 0) – 跳转到行开头
  w – 跳转到下一个单词的开始(单词的分隔符可以是空格或其他符号)
  W – 跳转到下一个单词的开始(单词的分隔符只能是空格)
  b – 跳转到下一个单词的末尾(单词的分隔符可以是空格或其他符号)
  B – 跳转到下一个单词的末尾(单词的分隔符只能是空格)
  PgDn 键 – 向下移动一页
  PgUp 键 – 向上移动一页
  Ctrl+d – 向下移动半页
  Ctrl+u – 向上移动半页
  插入模式:插入文字
  下面的 Vim 快捷键允许你根据需要在光标的不同位置插入内容。
  i – 在光标之前插入
  a – 在光标之后插入
  I – 在光标所在行的开头插入。当光标位于行中间时,这个键很有用
  A – 在光标所在行的末尾插入。
  o – 在光标所在行的下面插入新行
  O – 在光标所在行的上面插入新行
  ea – 在单词的末尾插入
  拷贝、粘贴和删除一行
  yy – 复制一行
  p / P – 将内容粘贴到光标之后 / 之前
  dd – 删除一行
  dw – 删除一个单词
  在 Vim 中搜索和替换匹配的模式
  /模式 – 向后搜索给定的模式
  ?模式 – 向前搜索给定的模式
  n – 向后重复搜索之前给定的模式
  N – 向前重复搜索之前给定的模式
  :%s/旧模式/新模式/g – 将文件中所有的旧模式替换为新模式
  :s/旧模式/新模式/g – 将当前行中所有的旧模式替换为新模式
  :%s/旧模式/新模式/gc – 逐个询问是否文件中的旧模式替换为新模式
  如何在 Vim 编辑器中跳转到特定行
  你可以根据需求以两种方式达到该目的,如果你不知道行号,建议采用第一种方法。
  通过打开文件并运行下面的命令来显示行号
 :set number
  当你设置好显示行号后,按 :n 跳转到相应的行号。例如,如果你想跳转到第 15 行,请输入:
 :15
  如果你已经知道行号,请使用以下方法在打开文件时直接跳转到相应行。例如,如果在打开文件时直接跳转到 20 行,请输入下面的命令:
 $ vim +20 [文件名]
  撤销操作/恢复上一次操作/重复上一次操作
  u – 撤销更改
  Ctrl+r – 恢复更改
  . – 重复上一条命令
  保存和退出 Vim
  :w – 保存更改但不退出 vim
  :wq – 写并退出
  :q! – 强制退出

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号