这个是网上看了我也用得比较多的vi命令集合。

jackxiang 2009-3-11 12:01 | |
1.交换两个字符位置
xp
其实就是删除光标当前字符(x),然后再将缓存的字符贴出(p)

2.上下两行调换
ddp
实际就是(dd)删除当前行,(p)后即将缓存的行贴出

3.上下两行合并
J
实用性:高,shift+j

4.删除所有行
dG
错!(d)为删除,(shift+g)到文件尾,因此这命令效用为从光标处删除至文件尾

类似的还有:
dw -- 删到词尾
db -- 删到词头
daw -- 删除光标所在词(较有用)
d^删除至行头

5.从当前位置复制到行尾
y$

6.替换特定字符串
:%s/old_word/new_word/g
这个指令是于在整个文件中替换特定字符串

7.移动:
h 或 向左方向键(←) → 光标向左移动一个字元
j 或 向下方向鍵(↓) → 光标向下移动一个字元
k 或 向上方向鍵(↑) → 光标向上移动一个字元
l 或 向右方向鍵(→) → 光标向右移动一个字元
0 → 数字『 0 』:移动到这一行的最前面字元处
$ → 移动到这一行的最后面字元处
nG → n 为数字。移动到这个文件的第 n 行
gg → 移动到这个文件的第一行,相当于 1G

8.删除:

dd → 刪除光标所在的那一整行
ndd → n 为数字。刪除光标所在的向下 n 列

yy → 复制光标所在的那一行
yw → 复制光标所在的一个单词

9.前进后退:
u → 还原前一个动作
o [Ctrl]+r → 重做上一个动作

10.显示行号:
set nu → 显示行号
set nonu → 取消显示行号
跳到第几行:
:21  到21行

11.删除所有的内容:
:g/^/d

Mark:
倒序文件行(即unix下的tac命令)
:g/^/m 0
global命令是Vim最强大的命令之一(个人认为是No.1),将其摸透用熟可以事半功倍:
删除偶数行
:g/^/+1 d
删除奇数行
:g/^/d|m.

:g/^/d

12.v键的用法,这个是vi加强才能用的
command模式下,按v键,再按j,k,l,等方向键,可以选取一部分内容。再按P,可以复制,或者:d,删除选中的内容。

13.更改:
更改
  「cw」:更改光标所在处的字到字尾处

  「c#w」:例如,「c3w」表示更改3个字
14.跳到指定行:
「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

15. 恢复文件
:recover
也可以在启动 vi 时利用 -r 选项。

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/1664/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2014-5-8 14:44
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]