首页 > 系统相关 >linux中vim常用命令大全

linux中vim常用命令大全

时间:2024-09-10 19:52:17浏览次数:13  
标签:文件 Ctrl 常用命令 模式 Vim linux vim 光标

前言

Linux有大量的配置文件,所以 Linux的文本处理工具也是比较多的,其中编辑一些配置文件时,常用的工具就是 vim。在Linux中,Vim编辑器是一个非常强大的文本编辑工具,它提供了多种模式和命令来满足不同的编辑需求。以下是Vim的一些常用命令和操作:

一、启动与退出Vim

  • 直接启动Vim并进入命令模式:vim
  • 启动Vim并打开(或创建)指定文件名的文件:vim filename
  • 在打开文件前,先执行指定的命令:vim -c cmd file
  • 恢复上次异常退出的文件:vim -r file
  • 以只读的方式打开文件,但可以强制保存:vim -R file
  • 保存修改并退出Vim::wq 或 ZZ
  • 强制退出Vim,不保存修改::q!
  • 如果未对文件进行修改,则退出Vim;如果文件已修改,则提示保存或放弃修改::q

启动Vim并创建文件text.txt

 启动Vim并打开上次保存的文件text.txt

二、Vim的模式

  • 命令模式(Normal Mode)‌:在此模式下,可以使用快捷键进行光标移动、复制粘贴、删除等操作。
  • 插入模式(Insert Mode)‌:在此模式下,可以输入文本。按下Esc键可以回到命令模式。
  • 可视模式(Visual Mode)‌:按下v进入字符选择模式,V进入行选择模式,Ctrl+v进入块选择模式。在可视模式下,可以使用移动命令来选择文本区域,然后执行复制、粘贴、删除等操作。

插入模式

 可视模式

三、光标移动

  • 使用上下左右箭头键h, j, k, l或↑, ↓, ←, →移动光标。
  • $移动到光标所在行的行尾。
  • 0或Home移动到本行第一个字符。
  • gg移动到文件头部。
  • G或Shift+g移动到文件底部。

四、文本编辑‌

  1. y复制。
  2. d删除。
  3. p粘贴。
  4. u撤销。
  5. 进入插入模式:按i进入插入模式,在光标前插入;按a在光标后插入;按o另起一行

五、查找与替换

  1. /string查找字符串。使用n查找下一个匹配项,使用N查找上一个匹配项。
  2. :s/old/new/g在当前行替换字符串。
  3. :%s/old/new/g在全文替换字符串。

查找字符串

六、删除操作

  • dd删除当前行。
  • Ndd删除当前行和接下来的N-1行。
  • :start,endd删除从start到end之间的所有行。
  • :g/pattern/d删除所有匹配pattern的行。

七、其他命令

  • :set nu显示行号。
  • :set nonu隐藏行号。
  • :w保存文件但不退出Vim。
  • :e /path/to/file打开指定路径的文件。

显示行号 

另外常用的命令提示:

  1. 1G ,2G,3G........NG ,跳到第1.2.3 N 行开头
  2. /^d 快速定位到以 d 开头的行
  3. /txt$ 快速定位的到以txt 结尾的行
  4. y 复制. yy 3yy ygg yG (以行为单位)
  5. d 删除 dd 3dd dgg dG(以行为单位)
  6. ndd:删除光标所在的向下n行
  7. ESC 回到一般模式
  8. u 恢复前一个操作
  9. v 进入可视模式
  10. ^v 进入可视块模式 Ctrl +v
  11. V 进入可视行模式
  12. A  shift + A 在当前行尾插入
  13.  :![Command]    在vi编辑器中执行外部Command命令   【:!date】查看当前时间
  14. R 进入替换模式 在光标后进行批量替换,类似于为Windows上的 文本Insert
  15. /string  --->  查找字符串【n继续向下查找,N反向继续查找,支持正则表达式查找: /^the】
  16. 翻页:Ctrl+f(PageDown)向下翻一页,Ctrl+d向下翻半页;Ctrl+b(PageUp)向上翻一页,Ctrl+u向上翻半页

快速定位到以 3 开头的行

八、替换命令

:s 命令实现字符串替换

  • :s/str1/str2/          --->  [:范围s/ old/ new]  默认当前行
  • :s/str1/str2/g        ---> g 全部替换,不加g只替换一个
  • : .,$s/str1/str2/g   --->  当前行到最后一行,全部替换
  • :1,$s/str1/str2/g   ---> 第一行到最后一行,全文
  • : %s/str1/str2/g    --->  全文

九、多文件编辑

vim 后面可以有多个文件

vim mybatis.config test.txt
  • n 编辑下一个文件
  • N 编辑上一个文件
  • files 显示当前正在编辑的所有文件

十、多视窗编辑

可以支持在同一个窗口打开多个文件,使用 :sp filename 命令

:sp /home/filename
  • 每一个窗口都有自己单独的模式和命令
  • Ctrl+w+↓ 切换到下一个窗口
  • Ctrl+w+↑ 切换到上一个窗口

标签:文件,Ctrl,常用命令,模式,Vim,linux,vim,光标
From: https://blog.csdn.net/A_aspectJ/article/details/142104828

相关文章

  • 【Linux】命令行参数和环境变量
         ......
  • 【Linux】kill与kill -9
    kill命令格式kill-signalpidsignalpid是进程号,ps命令可以查看默认情况下使用kill,系统发送给进程的是SIGTERM(15)信号,告诉进程“你需要被关闭,请自行停止并退出”。kill-9fasongSIGKILL(9)信号,告诉进程“你被终结了,请立刻退出”。kill-9表示强制杀死进程,与SIGTERM......
  • Linux命令实践
    目录课上测试作业题目:Linux命令实践学习Linux核心命令作业要求(9‘)作业内容命令演示AI提问及验证(重复命令未列出)总结高频命令自主学习重要命令推荐深入学习命令示例echoodbc总结作业提交要求(1')课上测试作业题目:Linux命令实践学习Linux核心命令lswhopwdcdmanwhereis......
  • Linux中的主次设备
    简言主设备号(MajorNumber)表示设备的类别或类型,它告诉操作系统应该使用哪个驱动程序来处理这类设备。次设备号区分设备驱动程序管理的不同实例或子设备,某个具体的设备。==同一主设备号的设备通常共用同一套驱动==Linux中常见主设备号列表字符设备(CharacterDevices)1:内存设......
  • openwrt编译带源码信息的linux内核版本遇到的错误
    1、在openwrt的根目录中可以执行如下命令:makemenuconfig打开CONFIG_DEBUG选项就会生成待调试信息的内核版本2、在openwrt的根目录中可以执行如下命令:makekernel_menuconfig打开CONFIG_DEBUG_INFO也会生成待调试信息的内核版本问题描述:在gcc7.5.0和gdb8.1.1的环境中编译出来......
  • Linux iostat 命令详解
    Linuxiostat命令详解在Linux系统管理中,监控磁盘I/O性能是一项至关重要的任务。iostat是sysstat包中的一个实用工具,用于监控和显示系统输入输出设备和CPU的使用情况。它提供了丰富的数据,帮助系统管理员识别并解决潜在的I/O瓶颈问题。本文将详细介绍iostat命令的使用方法和关键参......
  • Linux系统启动速度优化工具systemd-analyze
    systemd-analyze简介systemd-analyze是Linux自带的分析系统启动性能的工具。systemd-analyze可使用的命令:systemd-analyze[OPTIONS…][time]systemd-analyze[OPTIONS…]blamesystemd-analyze[OPTIONS…]critical-chain[UNIT…]systemd-analyze[OPTIONS…]plot[>......
  • fnm安装及配置,Linux中实现node版本管理
    fnm安装及配置,Linux中实现node版本管理源码:Schniz/fnm:......
  • Linux 分区扩容(根分区扩容,SWAP 分区扩容,挂载新分区为目录)
    Linux分区扩容(根分区扩容,SWAP分区扩容,挂载新分区为目录)-sysin|SYStemINside|软件与技术分享请访问原文链接:Linux分区扩容(根分区扩容,SWAP分区扩容,挂载新分区为目录),查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgLinux系统在运行过程中,出现磁盘空间不足,需......
  • Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH的区别
    Linux中PATH、LIBRARY_PATH、LD_LIBRARY_PATH的区别_pathlibrary-CSDN博客这里写目录标题1.PATH2.LIBRARY_PATH3.LD_LIBRARY_PATH1.PATHPATH是可执行文件路径命令行中的命令,如ls等等,都是系统通过PATH找到了这个命令执行文件的所在位置,再run这个命令(可执行文件)。所以,PATH......