vi vim常用命令

来源:互联网 发布:淘宝双十一客服招聘 编辑:程序博客网 时间:2024/05/16 05:14


启动vi

vi filename: 打开或新建文件,并将光标置于第一行首 vi +n filename: 打开文件,并将光标置于第n行首 vi + filename: 打开文件,并将光标置于最后一行首 vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename: 在上次正用vi编辑时发生系统崩溃,恢复filename vi filename.filename: 打开多个文件,依次进行编辑vi + /word filename:进入vi并且由文件的word这个字开始


 

移动命令

 [CTRL][d] 向下半页[CTRL][f] 向下一页[PageDown][CTRL][u] 向上半页[CTRL][b] 向上一页[PageUp] H移动到视窗的第一列M移动到视窗的中间列L移动到视窗的最后列G移动到文件最后列nG直接用数字 n 加上大写 G 移动到第 n 行 (等同于命令“:n”) fx往右移动到 x 字符上tx往右移动到 x 字符前shift +g 跳到文件尾 (等同于G)gg 跳到文件头xp 交换两个字符位置ddp 上下两行调换[ 移到文件开始位置 ] 移到文件结束位置 nk向上移n行n↑向上移n行n-向上移n行,光标在该行的起始 ni  向下移n行 n+向下移n行,光标在该行的起始 n↓向下移动n行w  向前移动一个wordnw  向前移动n个word→  向右移动一个字符【l】←  向左移动一个字符【h】↑  向上移动一行【k】↓  向下移动一行【j】


删除命令

x 删除光标所在的字符【delete】dw 删除光标所在的单词d $ 删除光标至行尾的所有字符/d d 同/d d $dd 删除当前行dnd 删除当前n行dG  删除当前行到最后一行可在删除命令前加上数字,如<5x表示删除5行。


修改替换

r 替换光标所在的字符/rr 替换字符序列c $ 替换自光标位置至行尾的所有字符cl 修改当前字符cc 修改当前行c$ 修改到行尾的内容:%s#abc#123#g 将文中的所有abc都替换为123ddp  上下两行交换(其实是先dd,然后执行p)


查询命令

/string 往前搜索string【支持正则】n 查找下一个?string  往后搜索string/+上下箭头 搜索历史:+上下箭头 :命令的历史* 往前查找当前word,前提是光标移动到要查找的word# 往后查找当前word,前提是光标移动到要查找的word/\<word\> 只匹配word,不匹配wordstr等等%  查找匹配的括号,前提是光标要在一边的括号上fx  在当前行移动到下一个字符x


拷贝粘贴

 

yw 将光标所在单词拷入剪贴板y$ 将光标至行尾的字符拷入剪贴板Y 同yy 将当前行拷入剪贴板yny  将当前n行拷入剪贴板p 将剪贴板中的内容粘贴在光标后P 将剪贴板中的内容粘贴在光标前


保存退出

:q 不保存退出:q! 不保存强制性退出:w 保存编辑:w filename 存入文件filename中:w! filename 强制性存入文件filename中:wq / :x / ZZ 保存退出:wq!  强制保存然后退出


其他

:args  显示当前文件名u   撤销,相当于Ctrl+zU   一次撤销一行的所有操作Ctrl+R  重做:help  查看所有帮助:help  0  查看关于0的帮助ZZ  退出帮助,回到编辑模式 Ctrl+G  知道【文件名  是否修改  当前第一行  前面所占行的百分比】Ctrl+v  选择一个块:set number  显示行号:set nonumber  不显示行号:set rule  显示光标位置:set ignorecase  搜索不区分大小写:set noignorecase 搜索区分大小写:ab string string 提示(比如:ab abc abcdefg,当输入abc然后输入空格,abc自动变为abcdefg):new filename 打开或新建文件,如果不指定文件名或者文件名不存在则是新建文件。:set ruler 打开光标的行列位置显示功能 :set shiftwidth=4 设置自动缩进格数 :set autoindent 打开自动缩进功能:set paste 粘贴的时候关闭自动缩进:set nopaste 粘贴的时候打开自动缩进


 

原创粉丝点击