Linux-Vim的使用,快速入门Vim,Linux入门教程,精讲Linux

Vim的三种模式

  • 输入模式,键入 i 或 a 或 o 都可以进入输入模式。

  • 普通模式,打开Vim默认的模式。

  • 命令模式,键入 : 进入命令模式。
    注意:按下 ESC 可以从输入模式或命令模式退回到普通模式
    退出 vim ,需要在普通模式下切换到命令模式( : )

  • q 无修改的情况下,直接退出。

  • q! 有修改的情况下,不保存退出。

  • wq 有修改的情况下,保存并退出。

Vim的配置相关知识点

编辑 .vimrc 文件: vim .vimrc

bash 复制代码
"语法高亮
set syntax=on
"自动缩进
set autoindent
"Tab键的宽度
set tabstop=4
"显示行号
set number
"高亮显示匹配的括号
set showmatch
"快速插入文本, o表示换行输入
"map <keymap> oContent
"例子:快速打印一行日志,命令模式输入'dz',将会输出 Bd_Log::warning("==dz==>"
map dz oBd_Log::warning("==dz==>".var_export($,true));<ESC>F$1li

编辑完成后, source .vimrc 使配置生效

光标移动

== 普通模式下==

单词间移动

(分隔符为非英文)

  1. w 移动光标到下一个单词的词首
  2. b 移动光标到上一个单词的词首
  3. e 移动光标到下一个单词的结尾
  4. ge 移动光标到上一个单词的结尾
    (分隔符为空格)
  5. W 移动光标到下一个单词的词首word
  6. B 移动光标到上一个单词的词首begin
  7. E 移动光标到下一个单词的结尾end

行内移动

^ 移动到行首

$ 移动到行尾

行移动

  1. :行号 跳转到相应的行首
  2. 行号gg 跳转到相应的行首
  3. gg 跳转到文件第一行
  4. shift + g 跳转到文件最后一行

翻页操作

  1. Ctrl + f:向后翻一页(forward)
  2. Ctrl + b:向前翻一页(backward)
  3. Ctrl + d:向后翻半页(down)
  4. Ctrl + u:向前翻半页(up)

调整页面布局

  1. zz :让当前行居中显示,方便浏览上下文
  2. zt :让当前行显示在最上方,方便浏览后面的内容(t 表示 top)
  3. zb :让当前行显示在最下方,方便浏览前面的内容(b 表示 bottom)

匹配括号

光标提留在括号上,包括( { , } , , , ( , ) ),键入 % ,将会跳转到匹配

的括号上

文本编辑

o 进入输入模式,并从下一行进行编辑

i 或 a 进入输入模式,从当前光标位置进行编辑

I 从光标所在行的行首进行编辑

A 从光标所在行的行尾进行编辑

dd 快速删除一行,其实这个命令本质上是剪切

5dd 快速删除5行

p 粘贴

yy 复制

5yy 复制5行

u 撤销上一次修改

diw : 删除一个单词(word)

ca" :删除双引号内的文本并编辑(包含双引号自身)

yi" :复制双引号内的文本(不包含双引号自身)

dtx :向右删除,直到遇到遇到字符 x(不包含 x)

搜索与替换

普通模式或命令模式下

/pattern 搜索一个文本,不区分大小写

/pattern\C 搜索一个文本,区分大小写

:范围s/oldpattern/newpattern/替换模式 替换

大小写转换

  1. guu 当前行全部小写, gUU 当前行全部大写
  2. ~ 当前光标下的字符切换大小写, 3~ 当前光标下后面三个字符切换大小写
  3. guiw 当前单词全部小写, gUiw 当前单词全部大写
  4. g~iw 当前单词每个字符大小写交换

列操作

Ctrl + V 进入列操作模式,此时可以选择要操作的行

ec 删除所选单词,并进入编辑模式

ESC 退出编辑模式,并且编辑后的改动作用于选中的行

相关推荐
ailitsoft1 小时前
库存管理系统如何记录跨门店调拨后的收货差异?
excel·零售·软件需求
Linux-lucky3 小时前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
禁默3 小时前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu
skywalk81634 小时前
把 去也网站 从 Ubuntu 搬到 FreeBSD:一次 Service Jail + nginx 的部署实录
linux·运维·nginx·ubuntu·freebsd
爱莉希雅&&&6 小时前
GitLab 完整学习笔记
linux·运维·服务器
风笙9786 小时前
[文件系统]文件系统挂载与卸载详解
linux
GeW6 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux·数据库
陈希1238 小时前
Linux 服务器性能排查手册(2026):CPU、内存、磁盘IO、网络四大瓶颈定位
linux·服务器·网络
测试界的小码农11 小时前
【Linux 命令实战(03):文件创建、复制、移动与删除,掌握 touch、mkdir、cp、mv、rm】
linux·服务器·php
byte轻骑兵12 小时前
实战 1:修改 BlueZ 源码,添加自定义开机日志
linux·aiot·bluez·电脑蓝牙·嵌入式蓝牙