[博主公告]

“linux大棚”是一个以Linux技术专题为主的博客。
本博客为了保证读者的浏览体验,决定不刊登任何广告信息。

专题

文章发布时间日历

September 2010
M T W T F S S
« Aug    
 12345
6789101112
13141516171819
20212223242526
27282930  
    <<返回主页

  • 25Nov

    本文章属于《Linux大棚》博客,博客地址为http://roclinux.cn。文章作者为rocrocket。
    为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅。

    ===

    [正文开始]

    vi壁纸似乎有一些瑕疵,在此纠正过来。

    顺便把vi壁纸的常用信息提炼出来,搞成文本信息,方便各位查询vi命令和各种操作。

    进入vi的命令

    vi filename 打开或新建文件,将光标置于第一行行首

    vi +n filename 打开文件,并将光标置于第n行行首

    vi + filename 打开文件,并将光标置于最后一行行首

    vi +/pattern filename 打开文件,将光标置于第一个与pattern匹配的字符串处(发现此命令无法实现此功能,哪位朋友搞定过?)

    vi -r filename 在上次正用vi编辑时发生系统崩溃,此处用于恢复filename

    vi filename1 filename2 filename3 … 打开多个文件,依次进行编辑

    移动光标类命令

    h 光标左移一个字符

    l 光标右移一个字符(此处l是L的小写字母)

    k或ctrl-p 光标上移一个字符

    j或ctrl-n  光标下移一个字符

    }或) 光标移动至段落尾部(其中区别,你自己试试就知道了)

    {或( 光标移动至段落首部

    nG 光标移动至第n行行首

    n+ 光标下移n行

    n- 光标上移n行

    n$ 光标移动至第n行行尾

    H 光标移动至屏幕顶行

    M 光标移动至屏幕中间行

    L 光标移动至屏幕最后行

    0 光标移动到当前行首

    $ 光标移动到当前行尾

    屏幕翻滚类命令

    ctrl-u 向文件首翻半屏

    ctrl-d 向文件尾翻半屏

    ctrl-f 向文件尾翻一屏

    ctrl-b 向文件首翻一屏

    nz 将第n行滚置屏幕顶部,不指定n时则将当前行滚至屏幕顶部[此命令我没试验成功,你呢?]

    输入文本类命令

    i 在光标前

    I 在当前行首

    a 在光标后

    o 在当前行下面新开一行

    O 在当前行上面新开一行

    r 替换当前字符

    R 替换当前字符及其后字符,直到按ESE为止

    s 删除光标所在处的单个字符,并进入输入模式[你试试就知道]

    S 删除当前行并进入输入模式

    删除/复制命令

    ndw/ndW 删除光标处开始及其后的n-1个单词(也就是word)

    d^ 删除光标处到行首处的所有字符,和shell里的ctrl-u类似

    d$ 删除光标处到行尾处的所有字符,和shell里的ctrl-k类似

    ndd 删除当前行及其后n-1行,省略n则表示删除当前行

    x或X 删除一个字符。(至于x和X区别你自己试试就知道)

    u 撤销上一次操作

    ynw 复制n个单词

    ynl 复制n个字符

    y$ 复制当前光标到行尾处的所有字符

    nyy 复制n行

    p 粘贴

    搜索及替换命令

    /pattern 从光标处向文件尾部搜索pattern

    ?pattern 从光标处向文件首部搜索pattern

    n 在同一方向重复上一次搜索命令

    N 在反方向上重复上一次搜索命令

    :s/p1/p2/g 将当前行中所有p1均用p2替代

    :n1,n2s/p1/p2/g 将第n1至n2行中所有p1均用p2替代

    :g/p1/s//p2/g 将文件中所有p1均用p2替换(其实可以用1,$s/p1/p2/g来代替的)

    选项设置(以set开头)

    all 列出所有选项设置情况

    term 设置终端类型

    ignorance 在搜索中忽略大小写

    list 显示制表位(^I)和行尾标志($)

    number 显示行号

    report 显示由面向行的命令修改过的数目

    terse 显示简短的警告信息

    nomagic 允许在搜索模式中,使用前面不带“\”的特殊字符

    nowrapscan 禁止vi在搜索到达文件两端时,又从另一端开始

    mesg 允许vi显示其他用户用write写到自己终端上的信息

    其他命令

    :n1,n2 co n3 将n1行到n2行的内容拷贝到n3下

    :n1,n2 m n3 将n1行到n2行的内容移动到n3下

    :n1,n2 d 将n1行到n2行的内容删除

    :w 保存当前文件

    :e filename 打开filename文件

    :x 保存当前文件并退出,相当于:wq

    :q 退出vi

    :q! 不保存并退出

    :!command 执行shell命令

    :n1,n2 w !command 将第n1行到第n2行的内容作为shell中command命令的输入。(给你个思路,你可以试试2,3 w !od -x)

    :n r !command 将shell中command命令的执行结果作为数据插入到第n行的下面

    寄存器操作

    用:h registers来获取关于寄存器的帮助。

    over~

    我猜您对这些文章感兴趣:

    Posted by rocrocket @ 9:17 am

    Tags: , , , , , ,

    1,626人阅读过了这篇文章。

    如果您还满意我的文章,请您订阅我的博客。点击“我要订阅”即可。谢谢:)

  • <<返回主页

2 Responses

WP_Cloudy

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.