(Linux)Vi的常用命令的整理
Vi is short for Visualedit...
?
进入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,就会在用户敲) } ]时显示出匹配的{ 【 (。