16
备注:
|
2840
|
删除的内容标记成这样。 | 加入的内容标记成这样。 |
行号 2: | 行号 2: |
=== 移动光标 === ||k||上|| ||j||下|| ||h||左|| ||l||右|| ||w||下一个单词开始|| ||2w|| 下下个单词|| ||e|| 这个单词末尾|| ||3e|| 第三个单词末尾|| ||$|| 行尾|| ||^或0|| 行首|| ||Ctrl-g|| 显示当前位置|| ||G|| 文件末尾|| ||gg|| 文件开始|| ||123G||第123行|| ||Ctrl-o||回到前一个位置|| ||ctrl-i||回到后一个位置|| === 插入 === ||i|| 在当前字符前插入|| ||a|| 在当前字符后插入|| ||A|| 在行尾插入|| ||o|| 当前行后插入一行|| ||O|| 当前行前插入一行|| ||{{{<ESC>}}}|| 退回普通模式|| === 删除 === ||x|| 删除一个字符|| ||dw|| 删除到下个单词开始|| ||d2w|| 删除两个单词|| ||de|| 删除到这个单词末尾|| ||d$|| 删除到行尾|| ||dd|| 删除整行|| ||2dd|| 删除2行|| === 修改 === ||r|| 替换一个字符|| ||R|| 替换多个字符|| ||ce或cw|| 替换到单词末尾|| ||c$|| 替换到行尾|| ||c2w|| 替换2个单词|| === 查找 === || / || 向后查找|| || ? || 向前查找|| || n || 继续查找|| || N || 反向继续查找|| || % || 查找匹配的括号|| || :s/old/new ||将这一行中的一个old字符串替换成new。|| || :s/old/new/g ||将这一行中所有old字符串替换成new。|| || :%s/old/new/g ||将文件内所有old字符串替换成new。|| || :%s/old/new/gc ||将文件内所有old字符串替换成new,每次替换前提示确认。|| || :#,#s/old/new/g ||将文件中某两行间的old字符串替换成new。|| || :set ic ||查找时忽略大小写|| || :set noic ||区分大小写|| || :set hls ||高亮显示查找结果|| || :set nohls ||取消高亮查找结果|| || :nohlsearch ||取消上次查找结果的高亮显示|| || :set is ||增量搜索|| || :set nois ||取消增量搜索|| || :/abc\c ||临时忽略大小写查找字符串abc|| === 恢复 === || u ||undo|| || U ||整行修改undo|| || Ctrl-R ||redo|| === 复制 === || v ||选择一部分文本|| || y ||复制选择的部分|| || yw ||复制一个单词|| || p ||插入复制或删除的内容|| === 文件 === || :q! ||不保存退出|| || :w ||保存|| || :wq || 保存退出|| || :w newfile ||另存为newfile文件(或者选择的部分写到新文件)|| || :r file ||将文件file内容插入到当前位置|| || :r !ls ||将ls命令的执行结果插入到当前位置|| || :!make ||执行外部命令make|| || :e abc ||打开abc文件编辑|| === 帮助 === || F1 || 帮助|| || :help ||帮助|| || :help w||查看w命令帮助|| || :q ||退出帮助|| || Ctrl-w Ctrl-w ||切换窗口|| || <Tab> ||补全命令|| || Ctrl-d ||补全命令列表|| = 参考资源 = * [[http://www2.geog.ucl.ac.uk/~mdisney/teaching/unix/vimtutor|vimtutor]] * [[http://www.linux521.com/vi.htm]] |
vi命令
1. 移动光标
k |
上 |
j |
下 |
h |
左 |
l |
右 |
w |
下一个单词开始 |
2w |
下下个单词 |
e |
这个单词末尾 |
3e |
第三个单词末尾 |
$ |
行尾 |
^或0 |
行首 |
Ctrl-g |
显示当前位置 |
G |
文件末尾 |
gg |
文件开始 |
123G |
第123行 |
Ctrl-o |
回到前一个位置 |
ctrl-i |
回到后一个位置 |
2. 插入
i |
在当前字符前插入 |
a |
在当前字符后插入 |
A |
在行尾插入 |
o |
当前行后插入一行 |
O |
当前行前插入一行 |
<ESC> |
退回普通模式 |
3. 删除
x |
删除一个字符 |
dw |
删除到下个单词开始 |
d2w |
删除两个单词 |
de |
删除到这个单词末尾 |
d$ |
删除到行尾 |
dd |
删除整行 |
2dd |
删除2行 |
4. 修改
r |
替换一个字符 |
R |
替换多个字符 |
ce或cw |
替换到单词末尾 |
c$ |
替换到行尾 |
c2w |
替换2个单词 |
5. 查找
/ |
向后查找 |
? |
向前查找 |
n |
继续查找 |
N |
反向继续查找 |
% |
查找匹配的括号 |
:s/old/new |
将这一行中的一个old字符串替换成new。 |
:s/old/new/g |
将这一行中所有old字符串替换成new。 |
:%s/old/new/g |
将文件内所有old字符串替换成new。 |
:%s/old/new/gc |
将文件内所有old字符串替换成new,每次替换前提示确认。 |
:#,#s/old/new/g |
将文件中某两行间的old字符串替换成new。 |
:set ic |
查找时忽略大小写 |
:set noic |
区分大小写 |
:set hls |
高亮显示查找结果 |
:set nohls |
取消高亮查找结果 |
:nohlsearch |
取消上次查找结果的高亮显示 |
:set is |
增量搜索 |
:set nois |
取消增量搜索 |
:/abc\c |
临时忽略大小写查找字符串abc |
6. 恢复
u |
undo |
U |
整行修改undo |
Ctrl-R |
redo |
7. 复制
v |
选择一部分文本 |
y |
复制选择的部分 |
yw |
复制一个单词 |
p |
插入复制或删除的内容 |
8. 文件
:q! |
不保存退出 |
:w |
保存 |
:wq |
保存退出 |
:w newfile |
另存为newfile文件(或者选择的部分写到新文件) |
:r file |
将文件file内容插入到当前位置 |
:r !ls |
将ls命令的执行结果插入到当前位置 |
:!make |
执行外部命令make |
:e abc |
打开abc文件编辑 |
9. 帮助
F1 |
帮助 |
:help |
帮助 |
:help w |
查看w命令帮助 |
:q |
退出帮助 |
Ctrl-w Ctrl-w |
切换窗口 |
<Tab> |
补全命令 |
Ctrl-d |
补全命令列表 |