vi/vim常用命令

总结一下编辑器中的神vim的常用命令,直入主题。

三种模式

  • 一般模式
    关键:一般模式下无法直接键入内容到文件中
    直接打开文件进入一般模式,使用i I a A o O可进入到编辑模式
    使用: 则是命令模式
  • 编辑模式
    此模式常常用来输入编辑,ESC即可回到一般模式
  • 命令模式
    配置或者搜索替换都是在此模式下
    ESC即可回到一般模式
    一般最常见的是在编辑模式下进行编辑,不过有时候也会在一般模式下执行像复制 粘贴,命令模式会执行比如设置行号,搜索等。搞清楚每个模式下能干嘛,既是入门关键。

常用基本命令

一般模式
  • 光标移动
    • h j k l 移动光标(左下上右)
      ^ $ 移动到本行行首 行尾
      5j 向下移动5行,4l 向右移动4个字符,其他类比
    • gg 光标移动到首行行首
      G 光标移动到尾行行首
      12G 移动到12行行首
  • 剪切复制粘贴
    • 单字符剪切删除
      x 单剪切光标所在字符 X剪切光标前一字符 3x 从光标处开始向后剪切3个字符
      X 向前剪切 2X 从光标处开始向前剪切2个字符(此处不包括自己)
    • dd 剪切本行 2dd 从光标所在行开始剪切2行
      dG 剪切本行到行末所有 dgg 剪切本行到行首所有 (都包括本行)
    • D 从光标所在处开始向后剪切本行 2D 从光标所在处开始向后剪切2行(本行前面保留)
    • yy (Y效果一样)复制本行 3yy 从本行开始往下复制3行
    • p 粘贴
      其实y d可搭配的方式很多 比如d^则是从光标所在处剪切到本行行首,其实遵循的是光标的移动。
  • 进入编辑模式
    • i 光标所在处前一位置进入编辑 I 本行行首进入编辑
    • o 光标下一行另起一行进入编辑 O 光标上一行另起一行进入编辑
    • a 光标所在处后一位置进入编辑 A 本行行末进入编辑(和i刚好相反)
  • 其他
    • J 两行合并 去除换行符
    • u 撤销(后退)
    • ctrl+r 前进 (返回撤销的内容)
    • ctrl+f 向下翻页
    • ctrl+b 向上翻页
命令模式
- :set nu  /  :set nonu 显示行号/不显示行号
- /appserver 或者 ?appserver 在文章中查找appserver 按n下一个匹配之处 N上一个
- :w w! q q! wq wq!  保存/强行保存/退出/强行退出/保存退出/强行保存退出 !为强制执行
- :w test.bak 另存为
- :10, 30s/old/new/g 替换 10-30行中将字符old全部替换成new 如果不指定10,30则全文替换
编辑模式
此模式进行我们平常的编辑,按esc回到一般模式。

高级常用

Visual Block 块操作

以下都是在一般模式下操作,选择后有背景标识,之后再进行x d y等复制剪切操作。

  • v 字符选择
  • V 行块选择
  • ctrl+v 以四边形的方式选择,粘贴会保持原样

介绍另一个很常用的块操作,多行注释:

  1. 进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来
  2. 按大写字母I,再插入注释符,例如//
  3. 按esc键就会全部注释了
    取消注释(其实就是选中块剪切删除)
  4. 进入命令行模式,按ctrl + v进入 visual block模式,按字母l横向选中列的个数,例如 // 需要选中2列
  5. 按字母j,或者k选中注释符号
  6. 按d键就可全部取消注释
多窗口编辑

一般我们会有同时查看或编辑多文件的需求,而且还有复制等操作,除了不大好用的多文件编辑外,在一个面板中显示多个文件更合适。使用方式:在打开一个文件后再打开其他的文件。

  • :vs [filename] 横向分割显示新文件
  • :new [filename] 纵向分割显示新文件
  • :sp [filename] 同上new
  • ctrl+w 切换操作窗口 也可以用ctrl+w+j(方向键控制切换)

-------END---------
顺便当做自己的参考手册了。

Linux 系统中,`vi` 或其增强版本 `vim` 是非常常用的文本编辑器。它们提供了强大的文本处理功能,并通过不同的模式来实现高效的编辑操作。以下是一些常用的 `vi/vim` 编辑器命令列表,按照不同的模式进行分类。 ### 一般模式(Normal Mode) 一般模式是 `vi/vim` 的默认模式,用于导航和执行命令。 | 命令 | 功能描述 | |------|----------| | `h` | 光标向左移动一个字符 | | `j` | 光标向下移动一行 | | `k` | 光标向上移动一行 | | `l` | 光标向右移动一个字符 | | `0` | 移动到当前行的行首 | | `$` | 移动到当前行的行尾 | | `G` | 移动到文件的最后一行 | | `gg` | 移动到文件的第一行 | | `dd` | 删除当前行 | | `dw` | 删除当前光标所在位置的单词 | | `x` | 删除当前光标所在位置的字符 | | `yy` | 复制当前行 | | `yw` | 复制当前光标所在位置的单词 | | `y$` | 复制从当前光标位置到行尾的内容 | | `p` | 在光标下方粘贴剪贴板内容 | | `P` | 在光标上方粘贴剪贴板内容 | | `u` | 撤销上一次操作 | | `Ctrl + r` | 重做上一次撤销的操作 | | `/关键字` | 向下搜索指定的关键字 | | `?关键字` | 向上搜索指定的关键字 | | `n` | 重复上一次搜索(与 `/` 或 `?` 配合使用) | | `N` | 反向重复上一次搜索(与 `/` 或 `?` 配合使用) | ### 插入模式(Insert Mode) 插入模式用于输入文本。可以通过以下命令从一般模式进入插入模式: | 命令 | 功能描述 | |------|----------| | `i` | 在当前光标前插入文本 | | `I` | 在当前行的行首插入文本 | | `a` | 在当前光标后插入文本 | | `A` | 在当前行的行尾插入文本 | | `o` | 在当前行下方插入新行并进入插入模式 | | `O` | 在当前行上方插入新行并进入插入模式 | ### 命令模式(Command Mode) 命令模式用于执行保存、退出、查找等操作。从一般模式输入 `:` 即可进入命令模式。 | 命令 | 功能描述 | |------|----------| | `:w` | 保存文件 | | `:q` | 退出编辑器 | | `:wq` | 保存并退出编辑器 | | `:q!` | 强制退出且不保存更改 | | `:w!` | 强制保存文件(当文件为只读时使用) | | `:e 文件名` | 打开指定文件进行编辑 | | `:set nu` | 显示行号 | | `:set nonu` | 取消显示行号 | | `:s/旧内容/新内容` | 替换当前行中第一个匹配的内容 | | `:s/旧内容/新内容/g` | 替换当前行中所有匹配的内容 | | `:%s/旧内容/新内容/g` | 替换整个文件中所有匹配的内容 | | `:help` | 显示帮助信息 | ### 可视模式(Visual Mode) 可视模式用于选择文本块,以便进行复制、删除等操作。 | 命令 | 功能描述 | |------|----------| | `v` | 进入可视模式(字符选择) | | `V` | 进入可视模式(行选择) | | `Ctrl + v` | 进入可视模式(块选择) | ### 扩展功能 `vim` 提供了一些额外的功能,如语法高亮、自动缩进等。可以通过以下命令启用这些功能: ```vim :syntax on " 启用语法高亮 :set autoindent " 启用自动缩进 :set tabstop=4 " 设置 Tab 键的宽度为 4 个空格 ``` ### 示例代码块 以下是一个简单的 `vim` 配置示例,可以将其添加到 `.vimrc` 文件中以自定义编辑器行为: ```vim " 启用语法高亮 syntax on " 显示行号 set number " 启用自动缩进 set autoindent " 设置 Tab 键的宽度为 4 个空格 set tabstop=4 " 启用高亮搜索 set hlsearch " 启用智能缩进 set smartindent ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值