Linux · 2023-11-09 0

vim编辑器


1.命令模式

可用方向键在文本区域中移动光标

也可用字母 h(左)、j(下)、k(上)、l(右) 移动光标

用于大文本文件、提高移动速度的命令:

命令描述
PageDown / Ctrl+F下翻一屏
PageUp / Ctrl+B上翻一屏
G移到缓冲区的最后一屏
num G移到缓冲区的第num行
gg移到缓冲区的第一行

其他常用命令:

命令描述
x删除光标当前所在位置的字符
dd删除光标当前所在行
dw删除光标当前所在位置的单词
d$删除光标当前所在位置至行尾的内容
J删除光标当前所在行结尾的换行符(合并行)
u撤销上一个编辑命令
a在光标当前位置后追加数据
A在光标当前所在行结尾追加数据
r char用char替换光标当前所在位置的单个字符
R text用text覆盖光标当前所在位置的内容,直到按下ESC键

有些编辑命令允许使用数字修饰符来指定重复该命令多少次

如: 命令2x会从光标当前位置开始删除两个字符 命令5dd会删除从当前光标当前所在行开始的5行

注意:vim编辑器将退格键视为将光标后移一个位置,将delete键视作x命令(删除光标当前所在位置的字符)

2.插入模式

按i进入插入模式,按Esc键回到命令模式

3.Ex模式

在命令模式下按冒号键(:) 进入Ex模式,等待命令输入

q 如果未修改缓冲区数据,则退出

q! 放弃对缓冲区数据的所有修改并退出

w filename 将文件另存为其他名称

wq 将缓冲区数据保存到文件中并提出

4.复制和粘贴

剪切

当vim删除内容时,数据会被保存在一个单独区域内(寄存器)

可以用p命令取回删除的数据

用法:

  1. 用x. dd等等命令删除想要剪切的文本
  2. 把光标移到缓冲区中要放置该文本的位置
  3. 使用p命令

复制

vim的复制命令为y

可使用 yw 复制一个单词,使用 y$ 表示复制到行尾 2yy 表示复制两行,…

复制完后将光标移动到想要放置文本的位置,输入p命令,即可完成粘贴

注意:复制操作不会影响到复制文本,因此无法确定到底复制了什么,因此推荐使用可视模式 按’v’键进入可视模式,高亮显示复制区域文本

5.查找和替换

查找

可使用vim的搜索命令查找缓冲器的数据

先输入正斜线(/),再输入要查找的文本

若要继续查找同一个单词,按/键,再按Enter键或n键,查找下一个

替换

在命令行模式下

替换命令的格式为

:s/old/new

命令描述
:s/old/new/g:替换当前行内所有出现的old为new
:n,ms/old/new/g:替换第n行和第m行间出现过的所有old
:%s/old/new/g:替换整个文件中所有出现的old
:%s/old/new/gc:替换整个文件中所有出现的old,并在每次替换时提示