Linux中Vim常用指令的笔记

在Linux中,Vim是一个非常强大的文本编辑器,广泛应用于代码编写、文档编辑等多种场景。Vim提供了丰富的指令集,以下是一些常用的Vim指令笔记,涵盖了Vim的三种主要模式:命令模式(Normal模式)、编辑模式(Insert模式)和末行模式(Ex模式)。

一、Vim的三种模式

  1. 命令模式(Normal模式)
    • 默认进入Vim后的模式。
    • 在此模式下,不能对文件直接编辑,但可以通过快捷键进行光标移动、复制、粘贴、删除等操作。
  2. 编辑模式(Insert模式)
    • 按下iaoO等键进入此模式。
    • 在此模式下,可以对文本进行插入、修改等操作。
  3. 末行模式(Ex模式)
    • 按下:(冒号)键进入此模式。
    • 在此模式下,可以输入命令对文件进行操作,如保存、退出、搜索、替换等。

二、常用指令

1. 命令模式指令
  • 光标移动
    • hjkl:分别代表左、下、上、右移动光标。
    • ^$:分别移动到行首和行尾。
    • ggG:分别移动到文件的第一行和最后一行。
    • nG:移动到文件的第n行。
    • we:分别移动到下一个单词的开头和结尾。
    • b:移动到上一个单词的开头。
  • 复制、粘贴和删除
    • yy:复制当前行。
    • nyy:复制当前行及下面的n-1行。
    • pP:粘贴到光标后和光标前。
    • dd:删除当前行。
    • ndd:删除当前行及下面的n-1行。
    • x:删除光标所在字符。
  • 撤销和重做
    • u:撤销上一次操作。
    • Ctrl+r:重做上一次撤销的操作。
  • 搜索和替换
    • /pattern:向光标下搜索pattern字符串。
    • ?pattern:向光标上搜索pattern字符串。
    • nN:分别查找下一个和上一个匹配项。
    • :s/old/new:将当前行的第一个old替换为new。
    • :s/old/new/g:将当前行的所有old替换为new。
    • :%s/old/new/g:将文件中的所有old替换为new。
2. 编辑模式指令
  • 进入编辑模式:按下iaoO等键。
  • 退出编辑模式:按下Esc键。
3. 末行模式指令
  • 保存和退出
    • :w:保存文件。
    • :q:退出Vim(如果文件已修改,则无法直接退出)。
    • :wq 或 :x:保存并退出Vim。
    • :q!:强制退出Vim,不保存修改。
  • 其他常用命令
    • :set nu:显示行号。
    • :set nonu:取消显示行号。
    • :sp filename:水平分割窗口,并在新窗口中打开filename文件。
    • :vsp filename:垂直分割窗口,并在新窗口中打开filename文件。
    • :!ls:在Vim中执行外部命令,如列出当前目录下的文件。

三、Vim的高级用法

  • 可视化模式
    • 按下v进入字符可视化模式,可以选择文本块进行操作。
    • 按下Ctrl+v进入块可视化模式,可以对矩形区域进行操作。
  • 重复命令
    • .(点命令):重复上一次编辑操作。
    • N<command>:重复某个命令N次,如2dd删除两行。
  • 配置Vim
    • Vim的配置文件通常是~/.vimrc(用户级别的配置文件)或/etc/vim/vimrc(系统级别的配置文件)。
    • 可以通过修改配置文件来自定义Vim的行为,如设置语法高亮、自动缩进等。

相关推荐

  1. LinuxVim指令笔记

    2024-07-20 08:56:04       19 阅读
  2. Vim 指令

    2024-07-20 08:56:04       20 阅读
  3. Linux 指令

    2024-07-20 08:56:04       37 阅读
  4. linux指令

    2024-07-20 08:56:04       22 阅读
  5. Linux指令整合

    2024-07-20 08:56:04       45 阅读
  6. Linux】 探索Linuxcat指令用法一览

    2024-07-20 08:56:04       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 08:56:04       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 08:56:04       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 08:56:04       45 阅读
  4. Python语言-面向对象

    2024-07-20 08:56:04       55 阅读

热门阅读

  1. docker

    2024-07-20 08:56:04       20 阅读
  2. OLAP分类

    2024-07-20 08:56:04       17 阅读
  3. MySQL 处理重复数据

    2024-07-20 08:56:04       20 阅读
  4. Eureka基本概念

    2024-07-20 08:56:04       17 阅读
  5. Ubuntu下使用notify-send

    2024-07-20 08:56:04       16 阅读
  6. 【22】Android高级知识之Window(三) -WMS

    2024-07-20 08:56:04       16 阅读
  7. HMACSHA256的原理和在C# 中的使用

    2024-07-20 08:56:04       19 阅读
  8. 内网渗透简介

    2024-07-20 08:56:04       18 阅读
  9. Go网络编程-HTTP程序设计_2

    2024-07-20 08:56:04       19 阅读
  10. 基于Go 1.19的站点模板爬虫

    2024-07-20 08:56:04       16 阅读
  11. 财迷换钱

    2024-07-20 08:56:04       16 阅读