学习vi编辑器 —— 快速移动
来源:互联网 发布:王者荣耀上分英雄知乎 编辑:程序博客网 时间:2024/06/16 12:41
2011-06-03 wcdj
(一) 按屏幕移动
(二) 按文本块移动
(三) 按搜索移动
(四) 按行号移动
(一) 按屏幕移动
(1) 滚动屏幕
“一屏”
Ctrl + F 向前滚动一屏
Ctrl + B 向后滚动一屏
“半屏”
Ctrl + D 向前滚动半屏(下)
Ctrl + U 向后滚动半屏(上)
“一行”
Ctrl + E 向上滚动一行
Ctrl + Y 向下滚动一行
注意:这两个命令并不把光标定位到行首,当调用这两个命令时,光标将保持在行中的原有位置。
(2) 使用z重新定位屏幕
z + Return 把当前行移动到屏幕顶部并滚动
z + . 把当前行移动到屏幕中央并滚动
z + - 把当前行移动到屏幕底部并滚动
(3) 刷新屏幕
Ctrl + L 不用滚动也可以刷新屏幕
(4) 在屏幕内移动
H 移动到起始点 —— 屏幕首行
M 移动到屏幕的中间行
L 移动到屏幕的行末
nH 移动到屏幕首行下面的第n行
nL 移动到屏幕行末上面的第n行
(5) 按行移动
除了j(向下)和k(向上)移动光标,还有:
Return 移动到下一行的首字符
+ 移动到下一行的首字符
- 移动到前一行的首字符
(6) 在当前行内移动
除了h(向左)和l(向右)移动光标,0(行首)和$(行尾)移动光标,还有:
^ 移动到当前行的第一个非空格的字符
n + | 移动到当前行的第n列
(二) 按文本块移动
另一种可以在vi文件中移动的方式则是按文本块(单词、句子、段落或节)移动。
除了:
w或W 按单词前移
b或B 按单词后移
还有:
e 移动到词尾
E 移动到词尾(忽略标点)
( 移动到当前句子的开始
) 移动到下一句子的开始
{ 移动到当前段落的开始(下一段)
} 移动到当前段落的开始(上一段)
[[ 移动到当前节的开始(下一节)
]] 移动到当前节的开始(上一节)
注意:可以把数字和移动命令结合在一起使用。例如:
3) 向前移动三个句子
d) 删除到当前句子结尾的文本
2y} 复制前面的两个段落
(三) 按搜索移动
搜索命令是专用字符 / (斜杠)。
当输入斜杠时,它将出现在屏幕的底行上,然后就可以输入想要搜索的模式。/pattern + Return
模式可以是整个单词或任意其他的字符序列(也称为“字符串”)。
vi 从光标处开始向前搜索,如果需要,可以把光标移动到文件的开始。光标将移动到模式第一次出现的位置,如果没有发现相匹配的文本,vi 就把“Pattern not found”信息显示在状态行上。
注意:/ (斜杠)是向前搜索,向后搜索使用 ? (问号)。
(1) 重复搜索
前面的搜索模式在整个编辑会话中都是可用的。完成一次搜索后,可以对上个模式使用再搜索命令,这样可以避免重复原来的击键。
n 同向重复搜索
N 反相重复搜索
/ + Return 向前重复搜索
? + Return 向后重复搜索
注意:vi 有一个“wrapscan”选项,它可以控制是否需要折回搜索。
:set nowrapscan 取消折回搜索
:set wrapscan 启用折回搜索
(2) 当前行内搜索
f 也有作用在当前行内的微型版的搜索命令。
fx 在行内搜索(移动光标到)x 的下一个实例,这里 x 代表任何字符
Fx 在行内搜索(移动光标到)x 的上一个实例
tx 在行内搜索(移动光标到)x 的下一个实例前面的字符
Tx 在行内搜索(移动光标到)x 的上一个实例后面的字符
; 同方向重复前面的搜索命令
, 反方向重复前面的搜索命令
注意:
(1) dfx 将删除到指定字符 x (包括 x)之间的文本,该命令常用来删除或复制行中的部分文本。因为,如果行内有符号或标点,统计单词就会变得很困难,那么可能需要使用 dfx 来代替 dw。
(2) t 命令除了把光标定位在搜索字符的前面之外,它的作用与 f 相同。例如,ct. 命令可以修改到句子结尾的所有文本,并保留句点。
(四) 按行号移动
文件中的行都被顺序地编号,因此可以通过指定行号在文件中移动。
:se nu 显示行号
:se nonu 不显示行号
由于编译程序的错误信息指定了行号,因此它对程序员来说非常有用。
注意:Ctrl + G 命令将行号等信息显示在屏幕底部(包括:当前行号、文件总行数和当前行在总行中的百分比)。
G(转移)命令
可以使用行号在文件中转移光标。G(转移)命令使用行号作为数字参数而直接移动到那行。例如:
12G 把光标移动到第12行的开始
不带行号的 G 命令把光标移动到文件的最后一样。
注意:两个反引号(``)和一对单引号('')
如果在这段时期没有进行编辑,那么输入两个反引号(``)可以使你返回到原来的位置(上次调用G命令的位置)。
如果已进行了编辑,然后使用了不同于G的命令移动过光标,那么 `` 将把光标返回到上次编辑的位置。
如果已经调用了搜索命令(/ 或 ?),则 `` 将把光标返回到开始进行搜索的位置。
一对单引号('')除了把光标返回到行首而不是光标以前所在的确切位置外,它与两个反引号(``)的作用很相似。
使用 Ctrl + G 显示的总行数可以提示你大致需要移动多少行。
按行号移动可以使你在大型文件中快速地从一个位置移动到另一个位置。
- 学习vi编辑器 —— 快速移动
- 学习vi和vim编辑器——第三章 快速移动位置
- 学习vi和vim编辑器(4):快速移动位置
- vi笔记3——vi之快速移动
- 学习vi编辑器 —— ex 编辑器
- Linux学习笔记——vi/vim编辑器命令快速入门
- 学习vi编辑器 —— 全局替换
- 学习vi编辑器 —— 高级编辑
- Vi 编辑器快速上手
- vi 快速移动光标
- 学习vi编辑器 —— vi文本编辑器和简单编辑
- 【Linux学习】Vi / Vim编辑器—编辑器工作模式、vi编辑操作
- linux学习————vi文本编辑器
- 学习vi编辑器 —— 基本编辑命令的扩展
- Linux学习笔记(一)——文本编辑器vi
- Linux学习笔记(十)——Linux中vi编辑器
- 嵌入式Linux学习笔记(2)——vi编辑器
- Vi 技巧之:快速移动
- 加油
- SQL Server-- 存储过程中错误处理
- 消费是未来最大结构性投资机会
- 用命令行导出和导入MySQL数据库
- IOS property
- 学习vi编辑器 —— 快速移动
- 判断MS SQLSERVER临时表是否存在
- java从含反斜线路径截取文件名
- ADO连接MS SQL Server数据库(pubs)步骤
- 修改远程端口后登录不上的解决办法[作者:Jackie]
- ppstream for linux 使用过程中发现的问题和解决方案
- 远程登录时由于帐户限制,你无法登录的解决办法[作者:Jackie]
- Android高手的六大境界
- Android高手的六大境界 mvc模式