Vimtutor 学习笔记

作者: Ginson 分类: Linux 发布时间: 2018-02-27 15:29

通过 vim 自带的 vimtutor 学习如何使用 vim,现将所学内容简单整理供自查复习

 

光标定位动作

h 左移一个字符
j 下移一行
k 上移一行
l 右移一个字符
w 移动到下一个单词开头
e 移动到下一个单词末尾
^ 或 0 移动到行首
$ 移动到行末
g 移动到文件首行
G 移动到文件尾行

TIPS:
1. w、e 操作符以空格和标点符号为单词的分隔符
this is an English sentence, do you know ?
this / is / an / English / sentence / , / do / you / know / ?
这是一个句子,你知道吗?
这是一个句子 / , / 你知道吗 / ?

2. 除 ^ $ g 之外,其他光标定位动作前均可接数字来进行大幅度定位
如 2h,左移两行;3w,移动到后 3 个单词开头;3j,下移 3 行;50G,定位到第 50 行

 

编辑操作符

d 删除
c 更改(同时进入插入模式)
y 复制

TIPS:
以上操作符按下后不直接执行,需接光标定位动作才会执行,光标定位动作前也可以接数字精确编辑范围。
格式为:操作符 [数字] 光标定位动作
如 d2w,删除两个单词;d3h,删除光标前 3 个字符;d0,删除光标至行首内容

 

r 替换光标所在字符
x 删除光标所在字符
dd 删除光标所在行
cc 更改光标所在行(同时进入插入模式)
yy 复制光标所在行
p 粘贴寄存器中的内容到当前光标之后

TIPS:
以上操作符按下后直接执行,可在前面接数字扩大执行范围。
如 2x,删除两个字符;2r, 替换两个字符;2dd,删除两行;2p,粘贴两次

 

辅助命令

R 进入替换模式直到主动退出
u 撤销修改
U 撤销对整行的修改
CTRL -R 恢复操作
CTRL -G 显示当前编辑文件中当前光标所在行位置以及文件状态信息。

 

搜索命令

/{pattern} 搜索 pattern
n , N 搜索后按 n 到下一个匹配项,N 到上一个匹配项
?{pattern} 逆向搜索 pattern
% 查找配对的括号 )、]、}

 

替换命令

:s/{old_pattern}/{new_pattern}/g 替换 {old_pattern} 为 {new_pattern}

TIPS:
:1,10s/old/new/g,将 1 – 10 行中的 old 替换为 new
:%s/old/new/g,替换整个文件中的每个匹配串。
:%s/old/new/gc,替换整个文件中的每个匹配串,且每次替换前提示确认

 

VIM 中的正则

搜索和替换命令中的 pattern 支持正则,VIM 正则中部分表达式需要通过反斜杠转义

* 0个或多个(匹配优先)
\+ 1个或多个(匹配优先)
\? 或 \= 0个或1个(匹配优先),\?不能在 ? 命令(逆向查找)中使用
\{n,m} n个到m个(匹配优先)
\{n,} 最少n个(匹配优先)
\{,m} 最多m个(匹配优先)
\{n} 恰好n个
\{-n,m} n个到m个(忽略优先)
\{-} 0个或多个(忽略优先)
\{-1,} 1个或多个(忽略优先)
\{-,1} 0个或1个(忽略优先)

 

在 VIM 内执行外部命令

:!{command} 在 VIM 内执行 {command}

 

可视模式

v 进入可视模式

进入可视模式后可通过定位操作符选取内容,选取内容后通过编辑命令对选取范围内的内容进行操作

 

读取内容

:r {filename} or {command} 读取文件内容或命令的输出

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注