vi命令

来源:互联网 发布:2017零售业数据分析 编辑:程序博客网 时间:2024/04/27 11:23
VIM 命令小结    
启动 vi 命令
命令
功能
Vi    filename
从第一行开始编辑 filename 文件
vi +n    filename
从第 n 行开始编辑 filename 文件
vi +    filename
从最后一行开始编辑 filename 文件
vi +/pattern filename     从包含 pattern 的第一行开始编辑
vi –r    filename
在系统崩溃之后恢复 filename 文件
vi –R    filename
以只读方式编辑 filename 文件
光标移动命令    Normal 模式,命令前可加上一个重复因子
光标按屏幕移动    部分命令前可加上一个重复因子
添加文本    所有命令(除 r 命令外)都使 vi 处于 Insert 模式,
必须按 Esc 键才能回到 Normal 模式
替换字符串    替换命令的一般格式为
:[address]s/old/rew[/cg]
命令中的元素          含义
address
例:
:s/old/new
:.,$s/old/new/g
:%s/old/new/gc
一个搜索字符串、一个行编号或是一个
由逗号分隔的两个行号。其中“.”表示当
前行,“$”表示最后一行,“%”表示整个
文件。用户可以使用标记或搜索字符串
来代替行号。
old
被替换的字符串
new
替换字符串
c
替换前要求确认
g
指定一个全局替换(每行不止替换一处)
 
命令
功能
SPACE、l、右向箭头
光标向右移动一格
BACKSPACE、h、左向箭头     光标向左移动一格
k、向上箭头         光标向上移动一行,光标列向位置不变

光标移到上面一行的开始
j、向下箭头          光标向下移动一行,光标列向位置不变
+,RETURN       光标移到下面一行的开始
^、0
光标移到所在行的开始
$
光标移到所在行的末尾
w
光标右移一个单词
W
右移一个以空格作为分隔符的单词
b
光标左移一个单词
B
左移一个以空格作为分隔符的单词
e
光标右移到一个单词的结尾
E
右移一个以空格作为分隔符的单词结尾
(      /    )
光标移到本句/下一句的开始
[[    /    ]]
光标移到本节/下一节的开始
{    /    }
光标移到本段/下一段的开始
:$
光标移到文件末尾
命令
功能
Ctrl+d          向前移动半个屏幕
Ctrl+u          向后移动半个屏幕
Ctrl+f
向前移动一个屏幕
Ctrl+b          向后移动一个屏幕
nG
光标移到第 n 行,不指定 n,则移到最后一行
H/ M/ L       光标移到屏幕顶部  /  中部  /  底部
命令
文本添加位置
i / I
在光标前  /  在该行的第一个非空白字符前
a / A           在光标后  /  所在行的行尾
o / O          在当前行的下面  /  上面新建一行
r
替换当前字符(一次只能替换一个)
R
替换从当前字符开始的字符,直到按 Esc 键为止
删除和修改文本
Normal 模式,命令前可以添加重复因子,c 表示任意字符。
命令     作用
nx          删除从当前字符开始的 n 个字符(含当前字符)
nX         删除从当前字符前面的 n 个字符(不含当前字符)
ndd        删除当前行开始的 n 行
d0          删除到行首
D、d$     删除到行尾
dw         删除一个单词。若光标处在某个词的中间,则从光
标所在位置开始删至词尾
dtc         删除到位于当前行的下一个字符 c
n~          改变从当前字符开始的 n 个字符的大小写
下面命令使 vim 处于 Insert 模式,按 Esc 键回 Normal 模式
ns          替换由 n 所指定数目的字符
S
替换整行
ncc        修改由 n 所指定数目的行
ctc         修改到位于当前行的下一个字符 c
C
修改到行尾
复制与粘贴    Normal 模式,可以添加重复因子
命令          作用
nyy、nY     复制当前行开始的 n 行
y0
复制至行首,不含光标所在处字符。
y$
复制至行尾,含光标所在处字符
nyw
复制 n 个  word
yG
复制至文件尾,包含当前行
y1G
复制至文件首,包含当前行
p
粘贴至光标后,若整行复制则贴在当前行下面
P
粘贴至光标前,若整行复制则贴在当前行上面
搜索字符串  表中 rexp 是正则表达式,可以是单个字符串
命令
作用
/rexp  回车         向前搜索 rexp
?rexp  回车        向后搜索 rexp
n
重复最近一次的搜索
N
重复最近一次的搜索,但搜索方向相反
/  回车
向前重复最近一次的搜索
?  回车
向后重复最近一次的搜索
%
可以查找配对的括号  )、]、}
其它命令
命令
作用
J
将当前行和下面一行连接起来
.
重复上一次有效命令
U
取消对整行的所有修改操作
u
取消上一次操作,可连续使用
Ctrl+r          取消上一次的取消命令 u,可连续使用
:w
将工作缓存区内容写入当前文件
:w fname     将工作缓存区内容写入由 fname 指定的文件
:q / :q!        退出 vi    /  强行退出 vi
:wq
存盘退出
ZZ
将工作缓存区内容写入当前文件并退出
:x
作用同 ZZ
:r fname       插入文件 fname 中的内容
:sp fname     切分新窗口,打开指定文件,用 ctrl+ww 切换
Ctrl+p/n     Insert 模式下,向上/下搜索,补全一个词
Ctrl+xl         Insert 模式补全一行,ctrl+p/n 选择上/下一个匹配
:!bash           打开 bash,退出后自动回到 vim
”np
提取寄存器 n(1~9)中的内容
:n / :N         同时打开多个文件时,在文件之间切换
 
 
原创粉丝点击