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 命令的输出,并把它放置在光标下面