最新消息:20210917 已从crifan.com换到crifan.org

[已解决]vi和vim中向上或向下去滚动一页的快捷键

vi crifan 19485浏览 0评论

vim中,向上或向下,滚动的话,用向上或向下的按键,去一行行的滚动,

当行数很多的时候,就会累屎

所以想要去找vim中,一页一页的,向上或向下,滚动的,快捷键。

搜:

vim 滚动 页

参考:

技巧:快速提高 Vi/Vim 使用效率的原则与途径

表 1. 启动及关闭 Vi/Vim 的基本命令

功能命令说明
启动
vi 打开 Vi/Vim
vi <file> 打开 Vi/Vim 并加载文件 <file> 
退出
ZQ 无条件退出 
:q! 无条件退出 
ZZ 存盘并退出 
:wq 存盘并退出
保存部分文件
:m,nw <file> 将 m 行到 n 行部分的内容保存到文件 <file> 中 
:m,nw >> <file> 将 m 行到 n 行的内容添加到文件 <file> 的末尾

表 2. 移动光标的基本命令

操作单位命令说明
字符
h 左移一字符 
l 右移一字符
单词
w/W 移动到下一单词的开头 
b/B 移动到上一单词的开头 
e/E 移动到光标所在单词的末尾
W、B、E 命令操作的单词是以空白字符(空格、Tab)分隔的字串,比如字符串“str1-str2 str3-str4”,对 W、B、E 命令来说是两个单词,而对 w、b、e 命令来说则是四个单词。
j 下移一行 
k 上移一行 
0 移到当前行开头 
^ 移到当前行的第一个非空字符 
$ 移到当前行末尾 
:n 移动到第 n 行
0 为数字零(zero)
句子
) 移动到当前句子的末尾 
( 移动到当前句子的开头
段落
} 移动当前段落的末尾 
{ 移到当前段落的开头
H 移动到屏幕的第一行 
M 移动到屏幕的中间一行 
L 移动到屏幕的最后一行
Ctrl-f 向前滚动一页 
Ctrl-b 向后滚动一页 
Ctrl-u 向前滚动半页 
Ctrl-d 向后滚动半页
文件
G 移动到文件末尾 
gg 移动到文件开头 
:0 移动到文件第一行 
:$ 移动到文件最后一行
0 为数字零(zero)

表 3. 文本编辑的基本命令

操作单位命令说明
字符
x 删除光标位置的字符 
c 更改当前字符并进入插入模式 
s 替换光标位置的字符并进入插入模式 
r 替换光标位置的字符但不进入插入模式 
i 在当前位置的字符之前进入插入模式 
a 在当前位置的字符之后进入插入模式
单词
cw/cW 删除当前单词从光标开始的部分并进入插入模式 
cb/cB 删除当前单词从光标所在位置至单词开始的部分并进入插入模式 
dw/dW 删除当前单词从光标开始的部分但不进入插入模式 
db/dB 删除当前单词从光标所在位置至单词开始的部分但不进入插入模式
cW、cB、dW、dB 命令操作的单词是以空白字符(空格、Tab)分隔的字串,比如字符串“str1-str2 str3-str4”,对 cW,cB,dW,dB 命令来说是两个单词,而对 cw、cb、dw、db 命令来说则是四个单词。
dd 删除当前行 
d0 删除从当前光标开始到行末的内容 
d$ 删除从当前光标开始到行末的内容 
I 在当前行的行首进入插入模式 
A 在当前行的行尾进入插入模式 
o 在当前行下方另起一行进入插入模式 
O 在当前行上方另起一行进入插入模式
d0 命令中的 0 为数字零
o 为小写英文字母 [əu]
O 为大写英文字母 [əu]
句子
d) 删除当前句子从光标位置开始到句末的内容 
d( 删除当前句子从光标位置开始到句首的内容
段落
d} 删除当前段落从光标位置开始到段末的内容 
d{ 删除当前段落从光标位置开始到段首的内容

表 4. 文本编辑的高效命令

功能命令说明
复制与粘贴
yw 复制当前单词从光标开始的部分 
yy 复制光标所在行的所有字符 
p 将最后一个删除或复制文本放在当前字符 
P 将最后一个删除或复制文本放在当前字符之前
配合操作数使用可快速拷贝编辑文本
撤消与重做
u 撤消更改 
Ctrl-R 重做更改
非常实用的一个命令
重复操作. 重复上次操作
. 为小数点(dot)
配合光标移动命令使用;
不用重复输入先前的复杂命令即可在不同的地方做同样的操作,有点象 MS Office 的格式刷
交换相邻字符或行
xp 交换光标位置的字符和它右边的字符 
ddp 交换光标位置的行和它的下一行
大小写转换
~ 将光标下的字母大小写反向转换 
guw 将光标所在的单词变为小写 
guw 将光标所在的单词变为小写 
gUw 将光标所在的单词变为大写 
guu 光标所在的行所有字符变为小写 
gUU 光标所在的行所有字符变为大写 
g~~ 光标所在的行所有字符大小写反向转换
取得外部输入
: r!<cmd> 将命令 <cmd> 的输出结果插入到当前光标所在位置 
:r <file> 将文件 <file> 读入到当前光标所在位置
排序:1,$!sort 将文件内的所有内容排序
加入行号
:%!nl 在所有非空行前加入行号 
:%!nl -ba 在所有行前加入行号
利用 Linux 命令 nl 来实现的
缩进
>> 右缩进(可配合操作数使用)
<< 左缩进(可配合操作数使用)
配合操作数使用,在编辑源码的时候非常有用。
自动补全Ctrl-p 自动补全在编写代码的时候非常有用。比如,输入 prin 后按 Ctrl-p 将自动帮你输入 printf 函数名后面的部分,同时将相关备选函数在底下列出来。
显示当前编辑文件名Ctrl-g 显示当前编辑文件名及行数可以在不退出 Vi/Vim 情况下了解当前编辑文件的信息
显示字符内码ga 显示光标所在字符的内码(包括十进制码,十六进制码以及八进制码)显示的内码为当前 encoding 下的内码

表 5. 文本搜索的基本命令

功能命令说明
搜索
/ 在文件中向前搜索 
? 在文件中向后搜索
可使用正则表达式
可配合操作数使用,比如 3/str 向前搜索字串 str 并将光标移到第三个找到的串
搜索下一个
n 搜索下一个 
N 反向搜索下一个
可使用正则表达式
可配合操作数使用,比如命令 3N 反向搜索第三个匹配的字符串

除这三个基本命令之外,还有以下三个非常有效快捷的与搜索查找有关的命令:

表 6. 文本搜索的高效命令
功能命令说明
快速搜索
* 在文件中向前搜索当前光标所在的单词 
# 在文件中向后搜索当前光标所在的单词
非常快捷的搜索命令
显示搜索命令历史
q/ 显示搜索命令历史的窗口 
q? 显示搜索命令历史的窗口
可以选择重用以前用过的搜索查找命令
查找帮助Shift-k 查找光标所在命令或函数的 man 帮助
可以在不退出 Vi/Vim 情况下快速查询命令或函数的使用方法;
按 q 键退出 man 帮助

表 8. Vi/Vim 设置命令
功能命令说明
查看设置的当前值
:set all 查看 vi 或 Vim 中设置的所有选项的当前值 
:set <option>? 查看特定选项 <option> 的当前值
设置行号显示与否
:set number 显示行号 
:set no number 取消行号显示
命令的简写形式:
:set nu 
:set no nu 
设置自动缩进
:set autoindent 设置自动缩进 
:set no autoindent 取消自动缩进设置
命令的简写形式:
:set ai
:set no ai 
设置缩进宽度:set shiftwidth=4 设置缩进宽度为 4 
命令的简写形式:
:set sw=4 
设置大小写忽略与否
:set ignorecase 设置忽略大小 
:set no ignorecase 取消忽略大小设置
命令的简写形式:
:set ic
:set no ic 
设置不可见字符显示与否
:set list 显示不可见字符 
:set nolist 取消显示不可见字符设置
在显示不可见字符的情况下,TAB 键显示为 ^I,而 $ 显示在每行的结尾。

"

VIM: scroll

Ctrl+F==Ctrl+Forward==PageDown==向前,向下,滚动一页

Ctrl+B==Ctrl+Backward==PageUp==向后,向上,滚动一页

Ctrl-u 向前滚动半页 ==Up half page

Ctrl-d 向后滚动半页 == Down half page

效果:

当前光标位置:

Ctrl+F后:

然后再去Ctrl+B,又可以,向上,向后,滚动一页,滚回去之前的位置:

转载请注明:在路上 » [已解决]vi和vim中向上或向下去滚动一页的快捷键

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
92 queries in 0.191 seconds, using 23.37MB memory