[Vim] usr_01
Notes Vim User Manual
Lastmod: 2022-01-10 周一 22:59:24

usr_01

检查是否是 vi 兼容模式

:set compatible?

查找配置文件

:scriptnames

运行 vim tutor

>vimtutor

vimtutor 笔记

移动

     ^ 
     k
< h     l >
     j
     v

不保存退出

:q!<ENTER>

保存退出

:wq<ENTER>

普通模式 删除光标位置的字符

x

普通模式-》插入模式 光标位置插入

i

普通模式-》插入模式 行尾插入

A

普通模式 删除光标位置开始的单词

dw

普通模式 删除光标位置到结尾

d$

许多改变文本的命令由一个操作符和一个动作组成

如删除操作符 d 后面可以跟一个 motion

例如

w 从当前光标位置到下一个单词的起始处,不包含它第一个字符

e 从当前光标到单词末尾,包含最后一个字符

$ 从当前位置到行末

动作前输入数字会使动作执行数字次

2w 向右移动 两个单词

3e 向右移动三个单词

0 移动到行首

于是可以使用

d number motion 一次删除多项内容

删除整行

dd

删除多行可以是类似

2dd

也可以是

d2d

撤销类

撤销一步

u

撤销整行

U

重做

<CTRL-R>

置入类

使用 d 删除的内容会保存在 vim 的寄存器中。使用 p 命令会把寄存器中的内容贴到光标位置后面。

dd 删除的内容,使用 p 贴到当前光标位置的下一行。

替换类命令

使用 r 和要替换的字符,替换当前光标位置的字符。

使用 R 可以连续替换多个字符,使用 <ESC> 退出替换。

更改类命令

ce 或者 cw 可以将单词光标到结尾删掉并进入插入模式。

c 的行为和 d 是类似的,后面也可以跟数字和命令。

定位及文件状态

显示当前编辑文件中光标位置及文件状态

<CTRL-G>

跳转到文件最后一行

G

跳转到第一行

gg

跳转到某一行

<NUMBER>G

搜索类命令

普通模式输入 / 和字符串即可查找对应字符串

/<STRING><ENTER>

之后使用 n 正向查找,N 反向查找

或者使用 ? 替换 / 可以直接开始反向查找

可以使用 <CTRL-O> 跳到之前的位置或者使用 <CTRL-I> 跳到较新的位置。

搜索忽略大小写

:set ic

大小写敏感

:set noic

如果只想在某一次搜索忽略大小写则可以使用 \c

/ignore\c<ENTER>

查找时显示部分匹配 incsearch

:set is

查找时高亮 hlsearch

:set hls

移除匹配项的高亮显示

:nohlsearch

::

搜索光标位置括号配对的括号

%

替换命令

将本行第一个 old 替换成 new

:s/<old>/<new><ENTER>

将本行所有 old 替换成 new

:s/<old>/<new>/g<ENTER>

替换 a 行到 b 行的所有匹配

:<a>,<b>s/<old>/<new>/g<ENTER>

替换整个文件所有匹配

:%s/<old>/<new>/g<ENTER>

替换整个文件所有匹配,并对每个匹配串提示是否进行替换

:%s/<old>/<new>/gc<ENTER>

执行外部命令

:!<SHELL/CMD>

注意所有 : 开始的命令都需要 <ENTER> 结尾。

保存文件

:w <FILENAME>

把当前文件保存为 filename。

利用可视模式 v 选中某个范围,然后输入

:w <FILENAME>

将保存选中的部分

注意实际显示的是

:'<,'>w

插入其他文件的内容

:r <FILENAME>

注意 :r 也可以读取外部命令的输出如

:r !ls

下方插入新行并且进入插入模式

o

上方插入新行并且进入插入模式

O

光标后插入

a

可以使用 y 命令复制某些字符或整行,行为与 dc 类似。

使用 HELP

<F1> 或者 :help

创建启动脚本

Unix

:edit ~/.vimrc

Windows

:edit $VIM/_vimrc

读取 vimrc 示例文件

:r $VIMRUNTIME/vimrc_example.vim

输入命令时使用 <CTRL-D> 可以查看补全的命令。

Prev: 《C++ Primer》 拾遗 第 16 章 模板与泛型编程
Next: [Vim] usr_02