2011-04-28 16:43:27| 分类: linux & unix 编 |举报 |字号 订阅
以前习惯在editplus,vs上编辑,感觉很方便,工作原因,现在不得不在黑框框上折腾,总觉得旁边同事用vi很牛很强大,刚才csdn上搜了下,上面讲述vi快捷键的文章一大堆,并且长的让你不忍心浪费时间看下去,就列几个自己比较常用的吧:
一、移动光标
1) h或 向左方向键(←)→ 光标向左移动一个字元
2) j或 向下方向鍵(↓)→ 光标向下移动一个字元
3) k或 向上方向鍵(↑)→ 光标向上移动一个字元
4) l或 向右方向鍵(→)→ 光标向右移动一个字元
5) [Ctrl] + [f]→ 屏幕『向下』移动一页,相当于 [Page Down]按键
6) [Ctrl] + [b]→ 屏幕『向上』移动一页,相当于 [Page Up]按键
7) n→ n表示『数字』。按下数字后再按空白鍵,光标会向右移动这一行的 n个字元
8) 0→ 数字『 0』:移动到这一行的最前面字元处
9) $→ 移动到这一行的最后面字元处
10) G→ 移动到这个文件的最后一行
11) nG→ n为数字。移动到这个文件的第 n行(可配合 :set nu)
12) gg→ 移动到这个文件的第一行,相当于 1G
13) n→ n为数字。光标向下移动 n行
二、查找与替换
1) /word→ 向光标之下查找一个名称为 word的字符串。如想查找 eric4ever字符串,输入 /eric4ever即可
2) ?word→ 向光标之上查找一个名称为 word的字符串
3) n→ 『重复前一个查找的动作』
4) N→ 与 n刚好相反,为『反向』进行前一个查找动作
5) :n1,n2s/word1 /word2/g→ n1与 n2均为数字。在第 n1与 n2行之间查找 word1字符串,并将该字符串替换为 word2。如:在 1到 9行之间 查找 eric4ever并替换为 ERIC4EVER则:『:1,9s/eric4ever/ERIC4EVER/g』
6) :1,$s/word1/word2/g→ 从第一行到最后一行查找 word1字符串,并将该字符串替换为 word2
7) :1,$s/word1/word2/gc→ 从第一行到最后一行查找 word1字符串,并将该字符窗替换为 word2,替换前显示提示对话框是否确认替换
删除、复制与粘贴
1) x, X→ 在一行字当中,x为向后刪除一个字元 (相当于 [del]按键), X为向前刪除一个字元(相当于 [backspace]按键)
2) dd→ 刪除光标所在的那一整行
3) ndd→ n为数字。刪除光标所在的向下 n列
4) yy→ 复制光标所在的那一行
5) nyy→ n为数字。复制光标所在的向下 n列
6) p, P→ p为将已复制的内容粘贴在光标下一行上,P则为粘贴在光标的上一行
7) u→ 还原前一个动作
8) [Ctrl]+r→ 重做上一个动作
9) .→ 小数点,意思是重复前一个动作
★编辑模式
1) i, I→ 插入:在目前的光标所在处插入输入的文字,已存在的文字会向后退; 其中, i为『从目前光标所在处插入』, I为『在目前所在行的第一個非空白字元处开始插入』
2) a, A→ a为『从目前光标所在的下一个字元处开始插入』, A为『从光标所在行的最后一个字元处开始插入』
3) o, O→ o为『在目前光标所在的下一行处插入新的一行』, O为『在目前光标所在处的上一行插入新的一行』
4) r, R→ r为『取代光标所在的那一个字元』, R为『一直取代光标所在的文字,直到按下 ESC为止』
5) Esc→ 退出编辑模式,回到一般模式中
★末行指令模式
1) :w→ 将编辑的文件写入到硬盘上
2) :q→ 退出 vi
3) :wq→ 保存后退出,若为 :wq!则为强制保存为退出
4) :set nu→ 显示行号
5) :set nonu→ 取消显示行号
另外 visual模式下比较方便copy&paste,v进入visual模式,可以选择文本,y在visual模式下,复制选中的文本;p粘贴复制的文本