您的位置:首页 > 其它

vi 常用命令

2015-05-29 14:50 141 查看
:[range]s/pattern/string/[c,e,g,i]

range 指的是范围,1,7 指从第一行至第七行,1,$ 指从第一行至最后一行,也 就是整篇文章,也可以 % 代表。还记得吗? % 是目前编辑的文章,# 是前一次编辑的文章

:s/old/new/g 替换整行的全部匹配

:%s/fuck/fork/cgi

g 大概都是要加的,否则只会替换每一行的第一个符合字符串。可以合起来用,如 cgi,不分 大小写,整行替换,替换前要询问是否替换

:%s/$/;/gi

每行末尾添加;分号

:s/old/new/ 替换当前行第一个 old 为 new

:s/old/new/g 替换当前行所有 old 为 new

:n,$s/old/new/ 替换第 n 行开始到最后一行中每一行的第一个 old 为 new

:n,$s/old/new/g 替换第 n 行开始到最后一行中每一行所有 old 为 new

:1,$s/old/new/g 替换第1 行开始到最后一行中每一行所有 old 为 new

:.,$s/old/new/g 替换当前行开始到最后一行中每一行所有 old 为 new

:q 如本文有修改而没存盘,会警告,且无法离开。(quit)

:q! 舍弃所有修改,强迫离开。

:e! 放弃文档修

:wq 存档后离开。纵使档案未曾修改也是会再存一次档。

:x 也是存盘后离开,但如果档案没有修改,则不会做存盘的动作。

ZZ 和 :x 完全一样,随您高兴用哪一个。

:w 檔名 另存他檔。不加档名就是写入原档

shift+v 多行选中 (块操作):

ctrl+v 列选择(列编辑) shift+i xxx ,然后 esc esc 两下按列插入xxx

y :复制

p:黏贴

:set nu :显示行号

V:选中字符所在行被选中

v:光标经过字符被选中

ctrl+v

列编辑

I:行首

A:行尾

gg:文本头行首

G:文本尾部行

nG: 到文件第n行。 6gg 或者 6G //跳转第6行

:n<cr> 移动到第n行。 :$<cr> 移动到最后一行。

w: 前移一个单词,光标停在下一个单词开头;

b: 后移一个单词,光标停在上一个单词开头;

^:行首

$:行尾

o:当前行下一行追加

O:当前行上一行追加

J:下一行节结至本行

u:撤销 undo

ctrl+r:恢复撤销 redo

y^ 复制当前光标到行首

y$ 复制当前光标到行尾

0y$复制当前行头到行尾

d$(D):删除至行尾

d0或者d^:删除至行首

d1G:删除当前行到第一行

dnG: 删除当前行到第n行

dG:删除当前行至文档尾部

yy(Y):复制一行

P:黏贴上一行

p:黏贴下一行

shift+v:可视化模式,选定行 ,然后J 合并一行

/ :搜索 n:向下寻找 N:反向寻找
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: