首页 > 系统相关 >Linux中Vim编辑器常用命令大全

Linux中Vim编辑器常用命令大全

时间:2024-09-10 11:51:35浏览次数:12  
标签:文件 常用命令 模式 Vim 插入 Linux 文本 光标

Linux中Vim编辑器常用命令大全

在Linux系统中,Vim(Vi IMproved)是一个非常强大的文本编辑器,它几乎成为了Linux发行版中的标配编辑器。Vim不仅支持基本的文本编辑功能,还提供了强大的文本处理能力,如语法高亮、编译预览、文件合并等。对于系统管理员和开发者来说,熟练使用Vim可以大大提高工作效率。

本文将详细介绍Vim的常用命令,包括基本操作、编辑技巧、文件处理以及一些高级功能。

1. Vim的模式

Vim有多种模式,了解这些模式是使用Vim的基础。

1.1 普通模式(Normal Mode)

普通模式是Vim的默认模式,可以执行移动光标、复制粘贴等操作。

  • hjkl:分别代表左、下、上、右移动光标。
  • i:进入插入模式,在光标所在位置插入文本。
  • Esc:从插入模式返回普通模式。

1.2 插入模式(Insert Mode)

在插入模式下,可以输入文本。

  • i:在光标前插入文本。
  • I:在当前行首插入文本。
  • a:在光标后插入文本。
  • A:在当前行末尾插入文本。
  • o:在当前行下方新开一行并插入文本。

1.3 命令行模式(Command Mode)

在命令行模式下,可以执行保存文件、退出Vim等命令。

  • :w:保存文件。
  • :q:退出Vim。
  • :wq:保存文件并退出Vim。
  • :x:保存文件并退出Vim(与:wq相同)。
  • :q!:不保存文件强制退出Vim。

1.4 可视模式(Visual Mode)

可视模式允许选择文本块进行操作。

  • v:进入可视模式,使用方向键选择文本。
  • V:进入可视行模式,选择整行文本。
  • Ctrl + v:进入可视块模式,选择列文本。

2. Vim的基本操作

2.1 文件操作

  • :e <filename>:打开文件。
  • :w:写入文件。
  • :w <filename>:另存为文件。
  • :q:退出Vim。
  • :q!:不保存退出Vim。

2.2 光标移动

  • 0:移动到当前行的行首。
  • $:移动到当前行的行尾。
  • gg:移动到文件的第一行。
  • G:移动到文件的最后一行。
  • Ctrl + u:向上翻半页。
  • Ctrl + d:向下翻半页。
  • Ctrl + b:向上翻一页。
  • Ctrl + f:向下翻一页。

2.3 文本编辑

  • x:删除光标后的字符。
  • dd:删除光标所在行。
  • yy:复制光标所在行。
  • p:粘贴复制的内容到光标后。
  • u:撤销上一次操作。
  • Ctrl + r:重做上一次撤销的操作。

2.4 搜索和替换

  • /word:向下搜索“word”。
  • ?word:向上搜索“word”。
  • n:跳转到下一个搜索结果。
  • N:跳转到上一个搜索结果。
  • :%s/old/new/g:将文件中所有的“old”替换为“new”。

3. Vim的高级功能

3.1 多窗口编辑

  • :split:水平分割窗口。
  • :vsplit:垂直分割窗口。
  • Ctrl + w:在分割的窗口间切换。

3.2 宏录制

  • qa:开始录制宏到寄存器a。
  • q:停止录制宏。
  • @a:执行寄存器a中的宏。

3.3 会话和状态保存

  • :mksession session.vim:保存当前Vim会话到文件。
  • :source session.vim:加载保存的会话。

3.4 插件管理

Vim支持插件,可以通过插件扩展Vim的功能。

  • :PluginInstall:安装插件。
  • :PluginUpdate:更新插件。

4. Vim的配置

Vim的配置文件是.vimrc,位于用户的主目录下。通过编辑.vimrc文件,可以自定义Vim的行为。

  • set number:显示行号。
  • syntax on:开启语法高亮。
  • set autoindent:自动缩进。

5. Vim的实用技巧

5.1 快速编辑

  • :%s/^/# /g:在每一行的开头添加#
  • :%s/$/\/\//g:在每一行的末尾添加//

5.2 快速移动

  • gg<Enter>:移动到第一行的行首。
  • G<Enter>:移动到最后一行的行首。

5.3 快速复制粘贴

  • yy:复制当前行。
  • 2yy:复制当前行及其下一行。
  • p:粘贴到光标后。
  • P:粘贴到光标前。

6. 结论

Vim是一个功能强大的文本编辑器,通过熟练掌握其常用命令,可以极大地提高文本编辑和文件处理的效率。无论是进行系统配置、代码开发还是文本处理,Vim都是一个不可或缺的工具。m。

标签:文件,常用命令,模式,Vim,插入,Linux,文本,光标
From: https://blog.csdn.net/2301_78370204/article/details/142095242

相关文章

  • docker 容器的常用命令
      docker容器的常用命令 一、基础概念 1、容器 (1)容器狭义的讲就是盛放东西的器皿,比如锅、碗、瓢、盆,再比如数组、字符串等,Java集合框架中列表、集、散列映射等也是容纳数据的容器。 (2)容器广义上讲是包含容器管理器、实际盛放数据的器皿在内的软件,比如docker就是一款......
  • linux删除0字节文件
    实现方式:find-typef-size0-execrm-rf{}\;[root@logstash~]#find-typef-size0-execls-l{}\;-rw-r--r--1rootroot0Jul1914:39./a.txt-rw-r--r--1rootroot0Jul1914:39./b.txt-rw-r--r--1rootroot0Jul1914:39./c.txt-rw-r--r--1......
  • linux清空文件保留最后20行
    linux服务器清空文件保留最后20行,命令如下:cp/var/log/nginx/access.log/var/log/nginx/access.log.bak&&tail-n20/var/log/nginx/access.log>/var/log/nginx/access_temp.log&&mv/var/log/nginx/access_temp.log/var/log/nginx/access.log [root@logstashn......
  • linux在特定行前,即ztj行前添加一个where字符
    方法:sed-i"/ztj/iwhere"ztj.txtroot@logstash~]#catztj.txtlinuxstudylinux/home1ztj1studylinux/homeztjstudylinuxdastudylinux/home2ztj2studylinux/home3ztj3studylinux/home4ztj4study[root@logstash~]#sed-i"/ztj/iwhere"zt......
  • linux shell一键查看服务器资源利用率之memory
    基于free-m命令实现[root@logstash~]#free-mtotalusedfreesharedbuff/cacheavailableMem:39313513346112343355Swap:396703967[root@logs......
  • 【Linux】全面讲解 Shell 变量的那些事
    本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发、订阅专栏!专栏订阅入口Linux专栏 | Docker专栏 | Kubernetes专栏往期精彩文章【Docker】(全网首发)KylinV10下MySQL容器内存占用异常的解决方法【Docker】(全网首发)Kyli......
  • Linux Makefile文件名处理函数知识详解
    GNUmake提供了一系列对文件名进行各种操作的函数:文件名替换、加前缀、去目录等。1.1dir函数:取路径名的目录dir函数用来从一个路径名中截取目录的部分。$(dirNAMES…)dir函数会从NAMES文件名序列中,取出各个文件路径名中的目录部分并返回.PHONY:allLIST=/home/wit/ban......
  • FreeBSD兼容模式linux账户指向FreeBSD账户造成的困扰
    发现FreeBSD兼容模式linux账户指向FreeBSD账户,这导致账户出现了紊乱。比如FreeBSD下账户guest的id是1001,linux兼容模式下的guest账户id是1004#FreeBSD下目录归属drwxr-xr-x71skywalkskywalk1089月613:59skywalk#Linux下mud归属drwxr-xr-x71linuxskywalk......
  • Linux登录root出现-bash-4.2#
    登录root时出现-bash-4.2#原因之一可能是你将/root目录下的.bash_logout,.bash_profile,.bashrc文件删除了,或者是修改了没效果我们直接创建用户将用户的主目录下的这三个文件cp过来即可useradd-d/home/asiasi然后复制目录cp/home/asi/.bash_logout/rootcp/......
  • 【ZYNQ MPSoC Linux开发】为什么ZYNQ的EMIO不需要配置pinctrl子系统而只需要配置GPIO
        要细究这个问题,首先要知道pinctrl子系统和GPIO子系统究竟是干什么的,pinctrl子系统主要用于配置引脚的状态(如功能复用、电气属性等),而在Linux的软件架构中,GPIO子系统提供了对GPIO引脚的直接操作接口,如设置引脚方向、读取/写入引脚值等。    我们知道,在使用......