vi/vim 命令手册

本手册介绍了 vi/vim 编辑器的主要功能。为了便于查找,这里一并给出了命令和它们的定制参数。在使用这个手册之前,必须注意以下几点:
   ●很多命令可以与重复因子一起使用(vi);
   ●vim(不是vi)把一个区域(region)定义为一个连续的文本块,许多命令与文本块有关;
    一个区域可以用v定义,后面跟一个光标移动命令;
   ●用[Ctrl+l]组合键可以清除并重画屏幕;
   ●:set命令用来定制编辑环境。
移动光标

 命令 功能
 h 光标左移
 l(或空格键) 光标右移
 k(或[Ctrl+p]) 光标上移
 j(或[Ctrl+n]) 光标下移
 [Ctrl+f] 向前翻页
 [Ctrl+b] 向后翻页
 [Ctrl+d] 向前翻半页
 [Ctrl+u] 向后翻半页
 1G 跳到文件首
 40G 跳到第40行
 G 跳到文件尾
 [Ctrl+g] 显示当前行号及文件的百分比
 :set number
 显示所有带行号的行

在一行内移动光标
   B、E和W命令的作用与b、e和w的作用一样,只是后者忽略了标点符号。

 命令 功能
 b 向后移动到单词首
 e 向前移动到单词尾
 w 向前移动到单词首
 0或| 移动到行首
 30| 移动到第30列
 ^ 移动到本行的第一个单词的首字符
 $ 移动到行尾

插入文本

 命令 功能
 i 在光标的左侧插入字符
 20i-[Esc] 插入20个连字符
 I 在行首插入字符
 [Ctrl+v][Ctrl+b] 插入[Ctrl+b]字符
 [Ctrl+v][Esc] 插入[Esc]字符
 a 在光标的右侧添加文本
 A 在行尾添加文本
 o 在当前行下面插入一空行
 O 在当前行上面插入一空行
 :set showmode
 当vi处在输入模式下时显示提示信息
 :set sm
 即时显示配对的)或}
 :set ts=n
 把制表符设置为n(默认为8)
 :set ai
 下一行从前一行的缩进位置开始

删除和移动文本

 命令 功能
 x 删除光标所在的字符
 6x 删除光标位置的字符以及右侧的5个字符
 X 删除前一个字符
 dd 删除当前行
 4dd 删除4行
 64dd 删除64行
 dw 删除一个单词
 d0 删除到行首
 d$ 删除到行尾
 d 删除一个区域(只用于vim)
 p 把被剪切的文本粘贴到下面(整行)或右侧(部分行)
 P 把被剪切的文本粘贴到上面(整行)或左侧(部分行)
 "add 把当前行粘贴到缓冲区a里
 "ap 把缓冲区a里的内容粘贴到当前位置
 J 把当前行于下一行合并为一行
 xp 调换两个字符的位置

修改文本

 命令 功能
 rch 把光标位置的字符替换为ch
 R 替换光标右边的文本
 s 把光标所在的字符替换为任意个字符
 S 替换整行内容
 cw 修改一个单词
 c 修改区域里的文本(vim)
 ~ 改变所扫描的或区域里的字母的大小写
 !tr'[a-z]''[A-Z]' 把区域里的字母转换为大写(vim)
 !tr'[A-Z]''[a-z]' 把区域里的字母转换为小写(vim)

复制文本

 命令功能
 yy 复制当前行
 6yy 复制六行
 yw 复制单词
 y 复制区域(vim)
 p 把复制的文本粘贴到右边或下面
 P 把复制的文本粘贴到左边或上面
 "ayy 把当前行复制到缓冲区a里
 "ap 恢复缓冲区a里的内容

启动编辑器

 命令功能
 vi +100 foo
 打开文件foo并把光标定位在100行
 vi +/pat foo
 打开文件foo并把光标定位在pat第一次出现的行
 vi +foo 打开文件foo,把光标定位在文件尾
 vi foo1 foo2 ...
 打开文件foo1,用n切换到foo2等
 vi -r foo
 把交换文件里的内容恢复到缓冲区里
 vi -R foo
 一只读模式打开foo文件

保存与退出

 命令 功能
 :w 保存文件并继续编辑
 :w bar
 同微软Windows操作系统中的“另存为……”
 :w! bar
 同上,但是覆盖现存的文件bar
 :n1,n2w foo
 把n1到n2之间的行保存到文件foo
 :n1,n2w>>foo 把n1到n2之间的行添加到foo文件尾
 :.w foo
 把当前行保存到文件foo
 :$w foo
 把最后一行保存到文件foo
 :x 保存并退出编辑器
 :wq 同上
 :q 如果文件的内容没有变化则退出编辑器
 :q! 放弃修改并退出编辑器
修改vi文本 每个命令前面的数字表示该命令重复的次数 命令 替换操作 rchar 用char替换当前字符 R text escape 用text替换当前字符直到换下Esc键 stext escape 用text代替当前字符 S或cctext escape 用text代替整行 cwtext escape 将当前字改为text Ctext escape 将当前行余下的改为text cG escape 修改至文件的末尾 ccursor_cmd text escape 从当前位置处到光标命令位置处都改为text 在vi中查找与替换 命令 查找与替换操作 /text 在文件中向前查找text ?text 在文件中向后查找text n 在同一方向重复查找 N 在相反方向重复查找 ftext 在当前行向前查找text Ftext 在当前行向后查找text ttext 在当前行向前查找text,并将光标定位在text的第一个字符 Ttext 在当前行向后查找text,并将光标定位在text的第一个字符 :set ic 查找时忽略大小写 :set noic 查找时对大小写敏感 :s/oldtext/newtext 用newtext替换oldtext :m,ns/oldtext/newtext 在m行通过n,用newtext替换oldtext & 重复最后的:s命令 :g/text1/s/text2/text3 查找包含text1的行,用text3替换text2 :g/text/command 在所有包含text的行运行command所表示的命令 :v/text/command 在所有不包含text的行运行command所表示的命令vi中复制文本 命令 复制操作 yy 将当前行的内容放入临时缓冲区 nyy 将n行的内容放入临时缓冲区 p 将临时缓冲区中的文本放入光标后 P 将临时缓冲区中的文本放入光标前 dsfsd "(a-z)nyy 复制n行放入名字为圆括号内的可命名缓冲区,省略n表示当前行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值