移动 :
· h、j、k和l键将光标分别向左、下、上和右侧移动
· 按0(零)跳到行首,$跳到行末
· <CTRL>F 和<CTRL>B向前后一次移动一整页
· 下一个单词的第一个字母,按w键。到下一个单词的最后一个字母,按e键。移动到前一个单词的第一个字母,按b键
· 使用大写的单词移动命令在长单词之间跳跃移动。W跳到下一个长单词的第一个字母,E跳到最后一个字母,B移动到前一个单词的第一个字母
· 输入":q"可以退出vi
· 退出而不保存修改,输入":q!"
· 按下"Q"键,就可以进入ex模式。这时,你会看见一个提示符:
· 用G跳至特定行。要跳到文件的第一行,输入1G。注意G 是大写字母。
· 搜索某个特定字符串模式在文件中的位置,输入"/<regexp>" 然后回车
· 向下寻找,按"n"。要继续向上寻找,输入"N"
保存
· 保存你做的改变,输入:w
· 输入:w filename.txt 会把文本保存为filename.txt
· 保存后退出,输入:x或者:wq
· 你可以同时打开几个缓存。要在一个新窗口中打开文件,输入:sp filename.txt
编辑
· x 删除 当前光标的字符, J把下一行接到这一样的末尾, dd会删除当前的一行文字
· "."可以用来重复任何一个编辑命令
· 要 删除 文本,你可以用"d" 命令结合任何的移动命令。例如,"dw" 会删除从当前光标位置到下一个单词开始处的内容;d)会删除到下一个句子结束的地方;d}会删除这个段落的剩余内容。
· 按u 键,传统的vi 会仅仅允许你 撤销 最后一次操作。然而,新版本的vi 譬如vim 允许你用重复的u 命令撤销你对文件作出的更改。
· 用Esc键退回到命令模式。i或a可以让你进入 插入 模式。如果按i,你的文本会插入在当前字符之前;而a会让你的文本插入在当前字符之后。
· 按A(大写)从当前一行的末尾开始插入内容而不管你当前的位置。相似的,I(大写)让你在当前行的开始插入。按o会在当前一行的下方新建一个空行以供插入,而O会在上方建立新行。要用新的空白行替代当前整行文字,输入cc。要替代从当前位置到当前行的结束,输入c$。要替换从当前位置到行的开始,输入c0。
· 按v,然后,用移动命令(尤其是方向键)控制光标,你可以选中一段文字 。要 复制 这段文字,按y;要剪切,点d;然后按P在光标后插入内容,或者p将内容插入在光标之前。
· 用ex 模式进行文本 替换 。如果你要替换当前行出现的第一个匹配模式,输入
:s/<regexp>/<replacement>/
然后按回车。这里<regexp> 是你要匹配的模式,而<replacement> 是你用来替换的字符串。要替换当前行的所有匹配处,输入
:s/<regexp>/<replacement>/g
然后回车。要替换文件中所有匹配位置(这通常是你需要的),输入
:%s/<regexp>/<replacement>/g
如果你希望在全局替换过程中,vi 在每次替换之前进行提示,输入
:%s/<regexp>/<replacement>/gc
(c 表示confirm 确认)然后回车。
· 当 自动缩排 启动之后,你可以用<CTR>d(control-d)向左移动一个缩排级别,或者<CTR>t(control-t)向右移动一个缩排级别。如果自动缩排模式没有自动启用,你可以用ex 模式命令
:set autoindent
来启动它。你还可以用
:set tabstop
命令告诉vi 你习惯的tab 宽度;:set tabstop=4 是一个相当流行的设置。