导语:

编辑文件 为快不破
当下编辑器种类繁多,用哪个?学哪个?首先要考虑的是用编辑器作什么,如果是编辑纯文本文件,没的选,只有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