导语:

编辑文件 为快不破
当下编辑器种类繁多,用哪个?学哪个?首先要考虑的是用编辑器作什么,如果是编辑纯文本文件,没的选,只有VIM。

常用编辑器

linux系统内默认编辑器常见的有:
        vi vim gedit  emacs nano sublime等等

windows下常见专业文本编辑器:    
        Sublime Text3、Notepad++、Notepad2、Emacs、Gvim、UltraEdit、EditPlus等等
        office、wps 、记事本  这3个桌面办公还可以,如果你是运维或开发人员,直接丢弃

**本文讲述神器VIM常见用法**

**使用VIM打开文件**:
    #vim   文件名

**三种模式**:命令  编辑  尾行

#### 命令模式:   
    只能使用快捷键
    如何进入编辑模式:a    i    o    A   I    O  r  R

    从编辑模式进入命令模式:ESC
    光标定位:
    h j k l         分别对应左上下右方向键
    0或者^        定位光标到当前行的开始
    $                定位光标到当前行的结尾
    control+command+左右键 (只限于apple虚拟机内的vim) 光标移动到行首和行尾
    control+windows+左右键 或者 shift+左右键 光标移动到行首和行尾
    gg           定位到文本顶端
    G            定位到文本底部
    3G         进入第三行 

    dd            删除(剪切)当前光标所在行
    数字+dd    删除多行
    p              粘贴
    P              粘贴当前光标所在行上一行
    u              undo撤销
    ctrl+r       回滚
    yy            复制当前光标所在行
    数字+yy    复制多行
    D             删除当前光标以后的内容
    d^           删除当前光标之前的内容
    编辑模式ctrl+u   删除当前光标之前的内容 

    V              可视行模式
                     y 复制
                     d 删除
                     p  粘贴
                     =  对齐文本
    ctrl+v       可视块模式
                     添加注释:
                         选择需要添加注释行的第一列字符-->I -->写注释符-->ESC两次
    v               可视化模式                  
    v               取消可视模式

### 编辑模式
     编辑文本内容,跟其他编辑器无异

### 尾行模式
     主要操作:设置vim的功能、查找关键字、替换文本内容、保存退出、读入、另存等等

     **查找**
             /关键字   n   N
             /^d
             /txt$

    **设置**
             :set nu        显示行号
             :set nonu     取消行号

             :set ic          搜索的时候不区分大小写
             :set noic      取消不区分大小写

             :set ts=4     设置tab键长度
             :set sw=4   设置自动缩进的tab键长度

             :set  si       自动缩进
             :set  ci       

             加密             
             :X             

             解密             
             :set key=

     **替换**
             s
             :s/world/nice/       替换当前光标所在行
             :%s/world/nice/    %表示替换所有行   
             :%s/world/nice/g  替换行内所有关键字
             :3s/world/nice/     替换指定行
             :3,10s/world/nice/ 第3行到第10行
             :3,4s/^/#/
             :,8s/hello/hi/            从当前行到第8行
             :5,10 s/.*/#&/                      5-10前加入#字符  (.*整行   &引用查找的内容)

    **保存退出**
             :w       保存
             :q        退出
             :wq     保存退出
             :x        保存退出  //命令模式下快捷键ZZ功能相同,但是不能强制保存
             :wq!    强制保存退出

    **读入、另存为**
             :r   /etc/passwd   读入另一个文件的内容
             :w  /root/Desktop/abc    另存为

    **分屏操作**:
             :sp     文件名
             :vsp   文件名
             ctrl+w  窗口之间互相切换

### 使vim设置永久生效:
方式1:把设置写到vimrc文件的最后,对所有账户生效
    比如:
        #vim   /etc/vimrc   
        set nu
        set ic
        set ts=4
        set sw=4

方式2:把设置写.vimrc文件,只对某个用户生效
        # vim  /root/.vimrc  

======================================
### 比较两个文件的不同:
    使用命令vimdiff
    # vimdiff /etc/hosts hosts1