Vim程序编辑器
Vim
简介
-
Vim是vi文本编辑器的进阶版,在所有Linux系统上均可使用,被称为“编辑器之神”
-
Vim通过一些插件可以实现和IDE一样的功能
-
Vim可以说是程序开发者的一项很好用的工具
Vim键盘图:

缓存,标签页,窗口
- Vim会维护一系列打开的文件,称为“缓存”。一个Vim会话包含一系列标签页,每个标签页包含一系列窗口(分隔面板)。每个窗口显示一个缓存。缓存和窗口不是一一对应的关系;窗口只是视角。一个缓存可以在多个窗口打开,甚至在同一个标签页内的多个窗口打开。Vim默认打开一个标签页,这个标签也包含一个窗口。
- 使用
Ctrl-W在多个窗口中切换
编辑模式
- 正常模式:在文本中四处移动光标进行修改
- 插入模式:插入文本
- 替换模式:替换文本
- 可视化(一般,行,块)模式:选中文本块
- 命令模式:用于执行命令
正常模式
i切换到插入模式,以输入字符(在光标前输入)x删除当前光标所在的字符:切换到命令模式,以在最后一行输入命令ZZ保存并退出
插入模式
字符按键以及Shift组合,输入字符Enter,回合键,换行Backspace,退格键,删除光标前一个字符Delete,删除键,删除光标后一个字符方向键,在文本中移动光标Esc,退出插入模式,切换到命令模式
命令模式
:q退出程序:w保存文件:wq保存并退出:e {文件名}打开要编辑的文件:ls显示打开的缓存:help {标题}打开帮助文档
键入操作本身是命令
移动(正常模式下,使用移动命令在缓存中导航)
- 基本移动:
hjkl(方向键:上,下,左,右) - 词:
w(下一个词),b(词首),e(词尾) - 行:
0(行首),^(第一个非空字符),$(行尾) - 屏幕:
H(屏幕首行),M(屏幕中间),L(屏幕底部) - 翻页:
Ctrl-b(上翻一页),Ctrl-f(下翻一页),Ctrl-u(上翻半页),Ctrl-d(下翻半页) - 文件:
gg(文件头),G(文件尾) - 行数:
{行数}<CR>,{行数}G - 杂项:
%(找到配对,比如括号或者/**/之类的注释对) n<space>:按下数字后再按空格,光标向右移动这一行的n个字符n<Enter>:光标向下移动n行
选择
- 可视化:
v - 可视化行:
V - 可视化块:
Ctrl+v
编辑
-
O/o:在光标的上方/下方打开新的一行并进入插入模式 -
d{移动命令}:删除例如,
dw从光标处删除至一个单词的末尾,d$删除到行尾,d0删除到行头,dd删除光标所在的那一整行 -
c{移动命令}:改变例如,
cw改变光标处直到单词末尾 -
x删除光标所在处的字符 -
r替换单个字符 -
R连续替换多个字符(替换模式) -
可视化模式+操作
选中文字,
d删除或者c改变 -
u撤销,<Ctrl-R>重做(撤销以前的撤销命令) -
y复制yy复制光标所在的那一整行,y0复制光标所在的那个字符到该行首的所有数据,y$复制光标所在的那个字符到该行尾的所有数据 -
p粘贴 -
~将光标下的字符改变大小写
搜索和替换
/word:光标向下寻找一个名称为word的字符串?word:光标向上寻找一个名称为word的字符串:set ic:忽略大小写:set hls is:匹配串高亮:nohlsearch:取消匹配串高亮:set noic:禁用忽略大小写n:重复前一个搜寻的动作N:『反向』进行前一个搜寻动作Ctrl-o:回退到之前的位置:s/old/new/g:替换光标所在行的匹配串:%s/old/new/g:替换整个文件中的每个匹配串
命令行补全
Ctrl-D:查看可能的补全结果<Tab>:使用一个补全
环境变更(命令模式)
:set nu:在每一行的前缀显示行号:set nonu:取消行号
执行外部命令
- 输入:! 然后紧接着输入一个外部命令可以执行该外部命令
例如,:!ls
多窗口
:sp/:vsp:分割窗口:term bash:在Vim中打开终端
保存文件
:w {未被使用的文件名}:将已改动的文件保存到当前目录中- 选择性保存:进入可视化模式选中文本后,按
:字符,将看到屏幕底部会出现:'<,'>,接着输入w {未被使用的文件名},确认看到:'<,'>w {未被使用的文件名}后,按<Enter>,这时 Vim 会把选中的行写入到以 {未被使用的文件名} 命名的文件中去 - 提取:通过命令
:r {文件名}将名为 {文件名} 的文件提取进来,所提取进来的文件将从光标所在位置处开始置入
还可以读取外部命令的输出,例如,:r !ls可以读取 ls 命令的输出,并把它放置在光标下面

浙公网安备 33010602011771号