2477
备注:
|
2840
|
删除的内容标记成这样。 | 加入的内容标记成这样。 |
行号 25: | 行号 25: |
||<ESC>|| 退回普通模式|| | ||{{{<ESC>}}}|| 退回普通模式|| |
行号 28: | 行号 28: |
* x 删除一个字符 * dw 删除到下个单词开始 * d2w 删除两个单词 * de 删除到这个单词末尾 * d$ 删除到行尾 * dd 删除整行 * 2dd 删除2行 |
||x|| 删除一个字符|| ||dw|| 删除到下个单词开始|| ||d2w|| 删除两个单词|| ||de|| 删除到这个单词末尾|| ||d$|| 删除到行尾|| ||dd|| 删除整行|| ||2dd|| 删除2行|| |
行号 37: | 行号 37: |
* r 替换一个字符 * R 替换多个字符 * ce或cw 替换到单词末尾 * c$ 替换到行尾 * c2w 替换2个单词 |
||r|| 替换一个字符|| ||R|| 替换多个字符|| ||ce或cw|| 替换到单词末尾|| ||c$|| 替换到行尾|| ||c2w|| 替换2个单词|| |
行号 44: | 行号 44: |
* / 向后查找 * ? 向前查找 * 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 * |
|| / || 向后查找|| || ? || 向前查找|| || 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|| |
行号 64: | 行号 64: |
* u undo * U 整行修改undo * Ctrl-R redo |
|| u ||undo|| || U ||整行修改undo|| || Ctrl-R ||redo|| |
行号 68: | 行号 68: |
* v 选择一部分文本 * y 复制选择的部分 * yw 复制一个单词 * p 插入复制或删除的内容 |
|| v ||选择一部分文本|| || y ||复制选择的部分|| || yw ||复制一个单词|| || p ||插入复制或删除的内容|| |
行号 74: | 行号 74: |
* :q! 不保存退出 * :w 保存 * :wq 保存退出 * :w newfile 另存为newfile文件(或者选择的部分写到新文件) * :r file 将文件file内容插入到当前位置 * :r !ls 将ls命令的执行结果插入到当前位置 * :!make 执行外部命令make * :e abc 打开abc文件编辑 |
|| :q! ||不保存退出|| || :w ||保存|| || :wq || 保存退出|| || :w newfile ||另存为newfile文件(或者选择的部分写到新文件)|| || :r file ||将文件file内容插入到当前位置|| || :r !ls ||将ls命令的执行结果插入到当前位置|| || :!make ||执行外部命令make|| || :e abc ||打开abc文件编辑|| |
行号 83: | 行号 83: |
* F1 帮助 * :help 帮助 * :help w查看w命令帮助 * :q 退出帮助 * Ctrl-w Ctrl-w 切换窗口 * <Tab> 补全命令 * Ctrl-d 补全命令列表 |
|| 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 |
补全命令列表 |