@rfish
2015-07-26T05:11:09.000000Z
字数 868
阅读 1786
linux
vi
vim
w
光标移动到下一个wordb
光标移动到上一个word(
光标移动到上一个句子)
光标移动到下一个句子{
光标移动到上一个段落}
光标移动到下一个段落- | Change | Delete | Yank(copy) |
---|---|---|---|
Line(一行) | cc | dd | yy |
Letter(字母) | cl | dl | yl |
Word(单词) | cw | dw | yw |
cc
change某行,删除该行并进入插入模式dd
删除该行,不进入插入模式yy
复制该行p
粘贴(修改,删除的数据都会有一个隐形的复制操作) p
粘贴在行的上面(小写)/字符在右/P
粘贴在行的上面(大写)/字符左侧/删除技巧
dtc
删除光标到c之间的所有字符
rc
(replace)将光标位置替换为c
5dd
删除5行
5yy
复制五行数据
5x
删掉5个字符
R
替换(覆盖书写)
cl
dl
yl
cw
dw
yw
u
撤销ctrl+r
Redo/text
往后搜索text?text
往前搜索textn
搜索上一次同样的内容N
往前(相对)搜索相同的内容:set number
开启行号
G
跳转到文件的最后一行 1G
跳转到第一行(1为行号
),gg
也是跳转到第一行ctrl+d
往下滚动半屏ctrl +u
往上滚动半屏H
(head)跳转到本屏显示的第一行M
(middle)跳转到本屏显示的中间L
(last)跳转到本屏显示的最后一行z+Enter
当前行为显示第一行z-
当前行成为显示的最后一行:s/
表示通过sed命令进行查找替换 :s/i/-
将本行的第一个i
替换为-
:s/i/-/g
最后的一个g
表示替换该行的所有i
:1,10s/i/-/g
替换1-10行所有的i
为-
:1,$s/i/-/g
末尾行用$
表示到文件末尾:r filename
读入filename
文件的内容到光标后:1,20 w filename
将本文件的1-20行文本 写入到新的filename文件中:1,$ w filename
全文本复制(另存编辑结果) :3,$ w>>filename
管道追加:set
可以查看设置项:set all
查看所有设置