vim - 1

vim-1

1.1 光标移动

命令 说明
h 光标左移
l 光标右移
k 光标上移
j 光标下移

以上命令可以加数量词,表示移动几次

比如:向下移动三行

3j

1.2 按单词移动光标

命令 说明
w 下一个单词词首
W 同上,以空白分隔为单词标记
b 前一个单词词首,如果光标不在当前词首,则跳到当前单词词首
B 同上,以空白分隔为单词标记
e 下一个单词词尾,如果光标不在当前词尾,则跳到当前单词词尾
E 同上,以空白分隔为单词标记
ge 前一个单词词尾
gE 同上,以空白分隔为单词标记

同样这些命令也支持数量词,可以移动n次。

1.3 行内移动

命令 说明
^ 行首第一个非空白字符
0 行首
$ 行尾
fx 光标位置向右查找x字符,找到光标跳到x字符
Fx 光标位置向左查找x字符,找到光标跳到x字符
tx 光标位置向右查找x字符,找到光标跳到x字符的前一个字符位置
Tx 光标位置向左查找x字符,找到光标跳到x字符的前一个字符位置

fx, Fx, tx, Tx 支持继续查找和反向查找,; 继续查找, , 反向查找, 同时这些命令也支持数量词,表示执行n次。

1.4 括号匹配移动

命令 说明
% 在([{}]) 上匹配移动

比如:

int main() { # 光标放在这个大括号上,按%跳到匹配的大括号上
    printf("hello")
}

1.5 多行移动

命令 说明
nG 光标跳到第n行
G 光标跳到最后一行
gg 光标跳到第一行
n% 光标跳到百分之n行
:n 光标跳到第n行
H 光标在当前屏幕中移动到首行
M 光标在当前屏幕中移动到中行
L 光标在当前屏幕中移动到尾行

其它相关操作:

ctrl + g 显示当前文件名,总行数和当前位置信息

:set ruler , :set noruler 在状态栏位置显示或隐藏当前行号、光标位置等信息

:set number:set nonumber 显示或隐藏行号

1.6 翻页

就是滚屏,我习惯叫翻页。

命令 说明
ctrl + d 向前翻半页
ctrl + u 往回翻半页
ctrl + f 向前翻一页
ctrl + b 往回翻一页
ctrl + e 向上滚一行
ctrl + y 向下滚一行

其它操作:

命令 说明
zt 光标所在行移到屏幕首行
zb 光标所在行移到屏幕尾行
zz 光标所在行移到屏幕中间行

1.7 全文查找

命令 说明
/字符串 向下查找字符串,光标跳到字符串首字母
?字符串 向上查找字符串,光标跳到字符串首字母
n 继续查找下一个
N 反向查找上一个
* 向下查找光标所在的单词(完整单词), g* 查找部分单词
# 向上查找光标所在的单词(完整单词),g# 查找部分单词

这里说的完整单词和部分单词: the 是一个单独的,完整的单词,而they 中也含有the,但只是字符串的一部分,并不是完整一个单词。

特殊字符串:

对于.*[]^%/\~?$ 字符有特殊意义,查找他们需要进行转义,比如查找.

/\.

查找单词:

查找单词,而不是某个单词的一部分,需要指定单词边界:

/\<单词\>

忽略大小写:

:set ignorecase   #  开启
:set noignorecase #  关闭

查找第n个单词:

n/word

命令历史:

# 在输入/的时候 ,可以按上下光标键可以查找以前输入过的单词
# 在命令中也适合,输入: 之后就可以按上下光标键查找以前输入过的单词

高亮匹配:

查找到的单词,以高亮显示

:set hlsearch    # 开启
:set nohlsearch  # 关闭

输入过程开始匹配:

不用输入完就开始匹配

:set incsearch   # 开启
:set noincsearch # 关闭

1.8 正则查找

这里列举几个简单的,后期再整理:

命令 说明
/^string 查找以string开头的行
/string$ 查找以string结尾的行
/a.b 查找a中间是任意字符,后面跟一个 b

. 表示任意字符,如果要查找字符点,需要转义 \.

1.9 标记跳转

命令 说明
`` 回到原来的位置,比如10G,之后回到原来的位置
`. 打开文件后,上次最后修改的位置
`" 打开文件后,上次最后跳转的位置
`a 跳到自定义a的位置
ctrl + o 跳到一个较老的位置
ctrl + i 与上面相反,往回跳,跳到一个较新的位置

ctrl+octrl+i 是按列表跳的,在跳转过程中(行内的跳转或用jk移动的不算),会自动记录一个跳转列表,编号1,2,3…… 它们按这个顺序跳。

可以按:jumps 显示列表

自定义标记:

先跳到需要的行,之后输入mx , x是大小写字母。

可以用:marks 查看所有标记,或用 :marks x 查看x所在的行

posted @   叁只小羊  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示