Vi常用命令大全

Vi命令大全

:set all 打印所有选项

:set nooption 关闭option 选项

:set nu 每行前打印行号

:set showmode 显示是输入模式还是替换模式

:set noic 查找时忽略大小写

:set list 显示制表符(^I) 和行尾符号

:set ts=8 为文本输入设置tab stops

:set window=n 设置文本窗口显示n 行

移动

G 移到文件的最后一行

gg 移动到第一行

nG 移到文件的第n 行

m(a-z) 用一个字母来标记当前位置,如用mz 表示标记z

'(a-z) 将光标移动到指定的标记,如用'z 表示移动到z

''(两个单引号) -回到光标跳转前的位置

%        -移动到与之匹配的括号上去(),{},[],<>等,后面会看到,"%"很有用。
CTRL+G  -得到当前光标在文件中的位置

0 或| 移到当前行的第一列

$ 移到当前行的最后一个字符

n| 移到当前行的第n 列

+ 或return 移到下一行的第一个字符

- 移到前一行的第一个非空字符

 

:r file 读入文件file 内容,并插在当前行后

:nr file 读入文件file 内容,并插在第n 行后

删除

dG 删除行,直到文件结束

dd 删除整行

:set ic 查找时忽略大小写

:set noic 查找时对大小写敏感

:v/text/command 在所有不包含text 的行运行command 所表示的命令


yy 将当前行的内容放入临时缓冲区

nyy 将n 行的内容放入临时缓冲区

p 将临时缓冲区中的文本放入光标后

P 将临时缓冲区中的文本放入光标前

u 撤消最后一次修改

U 撤消当前行的所有修改

vi 中的shell 转义命令

:!command 执行shell 的command 命令,如:!ls

:!! 执行前一个shell 命令

:r!command 读取command 命令的输入并插入,如:r!ls 会先执行ls ,然后读入内容

:w!command 将当前已编辑文件作为command 命令的标准输入并执行command 命令,如:w!grep all

:cd Director y 将当前工作目录更改为directory 所表示的目录

:sh 将启动一个子shell ,使用^d(ctrl+d) 返回vi

:so file 在shell 程序file 中读入和执行命令

:%s/^/Head content/g 全局插入开头信息
:%s/$/Tail content/g            全局插入尾部信息

:%s= *$==    将所有行尾多余的空格删除
:g/^\s*$/d  将所有不包含字符(空格也不包含)的空行删除.

相关推荐