Vim
介绍
这个图其实没什么用,正常情况下都不会去看的
缓存,标签页,窗口
- Vim会维护一系列打开的文件,称为“缓存”。一个Vim会话包含一系列标签页,每个标签页包含一系列窗口(分隔面板)。每个窗口显示一个缓存。缓存和窗口不是一一对应的关系;窗口只是视角。一个缓存可以在多个窗口打开,甚至在同一个标签页内的多个窗口打开。Vim默认打开一个标签页,这个标签也包含一个窗口。
- 使用
Ctrl-W
在多个窗口中切换
编辑模式
正常模式
插入模式
字符按键以及Shift组合
,输入字符Enter
,回合键,换行Backspace
,退格键,删除光标前一个字符Delete
,删除键,删除光标后一个字符方向键
,在文本中移动光标Esc
,退出插入模式,切换到命令模式
命令模式
键入操作本身是命令
移动(正常模式下,使用移动命令在缓存中导航)
- 基本移动:
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{移动命令}
:删除{移动命令} -
c{移动命令}
:改变{移动命令}例如,
cw
改变光标处直到单词末尾 -
x
删除光标所在处的字符 -
r
替换单个字符 -
R
连续替换多个字符(替换模式) -
可视化模式+操作
-
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 命令的输出,并把它放置在光标下面
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。