vi与vim的抓狂

1. vi和vim的关系:
    vim可以理解是vi的升级版,支持shell script编程;
    vi存在原因:所有Unix Like系统均内建vi编辑器,同时个别工具会主动呼叫vi,如crontab.
    
2. 关于vi的三种模式:
    一般模式
    编辑模式
    命令模式

3. vi的一般模式命令:
    1)光标移动:
        单个字符:h(左)、l(右)、k(上)、j(下);
        行头:^/0/Home,行尾:$/End;
        多行:nk、nj。如向上移动10行:10k;
        翻页:向上一页,ctrl + b;向下一页,ctrl + f;向上半页,ctrl + u;向下半页,ctrl + d;
        任意行:nG;
        文件头:gg/1G,文件未:G;
        屏幕头:H,屏幕尾:L,中间:M
        
    2)查找替换:
        向上查找:?word
        向下查找:/word
        上一处:n,下一处:N (注意:当向上查找时,n与N作用扭转)
        替换::n1,n2s/word1/word2/g[c],其中n1为开始行,n2为结束行,c为替换前是否需要确认。 如从第一行到最后一行寻找word1字符串,并将该字符串叏代为word2,且在替换前显示提示字符给用户确认,命令为:1,$s/word1/word2/gc.
        
    3)删除:
        删除字符:
            向前,X. 一次删除多个,nX
            向后,x. 一次删除多个,nx
            行头到当前位置,d0
            行尾到当前位置,dG
        删除行:
            向下删除n行,ndd
            删除当前行,dd
            
    4)复制与粘贴:
        复制:
            多行:nyy
            单行部分字符:行头到当前光标,y0;行尾到当前光标,y$
        粘贴:
            在光标下一行粘贴,p
            在光标上一行粘贴,P
            注意,当复制内容为单行部分字符时,p为当前光标后边粘贴,P为光标前边复制
            
    5)合并:
        当前行和下一行合并:J
        
    6)撤销与重做:
        撤销:u
        重做:ctrl + r
        
4. vi的插入模式:
    1)插入:
        当前行:
            光标前,i;光标后,a
            行首,I;行尾,A
        换行:
            上一行,O;下一行,o
    2)替换:
        单个替换,r
        多个替换,R (知道ESC结束)

5. vi的命令模式:
    保存: :w
    退出: :q
    强制退出: !
    文件有变动则保存并退出,否则不退出:ZZ
    另存为: :n1,n2 w filename。 其中,n1、n2分别为开始、结束行数,filename为另存为文件。
    
6. vim的swap文件处理:
    只读,O
    恢复,R
    编辑,E
    退出,Q
    中止,A
    注意,最终swap文件需要手动删除。
    
7. vim的块选择:
    长方形,ctrl + v
    行,V
    字符,v
    复制,y
    删除,d
    粘贴,p
    
8. vim的多文档:
    同时编辑多个文件:vim t1 t2
    列举文件列表::files
    文件切换:切换到下一个文件,:n,切换到上一个文件,:N
    注意,切换时,可能会提示加! (那就执行 :n!就好)    

9. vim的多窗口:
    操作步骤:
        vim test
        :sp [file] (如果填写,则为新窗口打开新文件,否则为当前文件)
        ctrl + w + j(切换到下一个窗口),ctrl + w +k(切换到上一个窗口)
        ctrl + w + q,保存并退出当前窗口
        
10. vim的设置:
    显示/取消行号: :set nu/:set nonu (只有当前文件当前编辑被设置,下次打开还是为初始设置)
    永久设置:vim ~/.vimrc
    vim系统操作记录:~/.viminfo
   

本文出自 “心如止水,浴火重生” 博客,请务必保留此出处http://itisforyou.blog.51cto.com/9778869/1608577

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。