进入Vi
切换模式 i键:从command mode 进入 insert mode
ESC键:从 insert mode 进入 command mode
退出Vi及保存文件
:q quit
:q! quit without save
:w save file
:wq save & quit (:x)
:wfilename 将文章以指定的文件名filename保存
Command mode:
Insert:
[i] insert: 从光标当前位置开始输入文字;
[a] append: 从光标所在位置的下一个位子开始输入文字;
[o] open: 插入新的一行,从行首开始输入文字。
移动光标:
vi可以直接用键盘上的光标上下左右移动,但正规的VI是用小写字母
[h]: 左移一格
[j]: 下移一格
[k]: 上移一格
[l]: 右移一格 (在键盘上的排序 h j k l)
文章开头: :0 ( :1 )
文章最后: G
行首:0 或者^
行尾:$
下个字的开头 w
上个字的开头 b
H 页面顶部
M 页面中部
L 页面地部
:# [#]表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行;
Ctrl+F 向前翻整页
Ctrl+U向上翻整页
Ctrl+D向下翻整页
Ctrl+B向后翻整页
Copy:
[yw]:复制(光标所在之处的)字符
[ #yw]复制#个字符
[yy]复制整行
[ #yy]复制光标所在的向下N行
Paste:
[p] 在光标的下一列粘贴
[P] 粘贴在游标的上一行
Replace:
[r]:替换光标所在处的字符
[R]:替换光标所到之处的字符,直到按下[ESC]键为止
Delete
[x]:删除(光标所在位置的后面)一个字符
[ #x]: for instance,[6x]表示删除(光标所在位置的后面)6位字符。
[X]:删除(光标所在位置的前面)一个字符
[ #X]:for instance,[20X]表示删除(光标所在位置的前面)20位字符。
[dd]:删除(光标所在的)的行。
[ #dd]:删除(从光标所在行)开始#行;
d为删除,(shift+g)到文件尾,因此dG这个命令效用为从光标处删除至文件尾
dw 删到词尾
db 删到词头
daw 光标所在的词(较有用)
[u]:回到上一个操作
U 取消所有操作
Ctrl + R 可以恢复对使用U的命令的操作
Lastlinemode 在使用 lastlinemode 之前请记住先按[ESC]确定 处于[commandmode]
:lastlinemode
列出行号:
set nu
:set nonu
跳到某一行
:# 如:15 会跳到文章的第15行。
查找字符
[/] 查找字符的顺序是至上而下,按/键,再输入您想寻找的字符,如果第一次找到的关键字不是您想要的,可以按[n]会往后寻找到您要的关键字为止。
[?]查找字符的顺序是至下而上,按/键,再输入您想寻找的字符,如果第一次找到的关键字不是您想要的,可以按[n]会往后寻找到您要的关键字为止。
进入帮助:
:h
语法加亮: :syntax on
关闭 :syntax off
快速查看函数帮助:
将光标移到函数上,然后在command mode下输入K 就可以调动 Linux Progranner's Manual
自动对齐:
在command mode 下使用 :set ai
显示匹配:
在编程过程中{}[] ()常常成对出现 而且常常有多层嵌套,很容易遗漏和失误。所有下面的技巧非常有用。在command mode下使用:set sm,就会在用户敲) } ]时显示出匹配的{ 【 (。