字处理器:像word,wps,除了本文本身以外,还有修饰方面的设置。

文本编辑器:编辑纯ASCII文档。


nano,sed  入门简单,功能简陋。


强大的vi编辑器 (Visual Interface)

现在是Vim :VI  inproved

它是全屏编辑器,模式化编辑器。


vim模式:

编辑模式(命令模式)

输入模式

末行模式

       默认处于编辑模式。


模式转化:

   编辑模式--->输入模式:

       i :在当前光标所在字符的前面,转为输入模式。

       a:在当前光标所在字符的后面,转为输入模式。

       o:在当前光标所在行的下方,新建一行,转为输入模式。


        I: 在当前光标所在行的行首,转换为输入模式

       A:在当前光标所在行的行尾,转换为输入模式

       O:在当前光标所在行的上面,转换为输入模式

   输入模式---->编辑模式:

       ESC

   编辑模式---->末行模式

       :

           10d

           10,20d

           set nu

           ! ls /etc  

       末行模式的功能是非常强大的。

   末行------>编辑模式

       ESC,ESC


下面详解vim的用法:

一、打开文件

打开某个文件

   # vim /path/to/somefile

打开文件处于n行

   # vim  +n  (file)

打开时处于文件最后一行

   # vim  +   (file)

打开文件,定位到第一次被pattern匹配到的行

   # vim + /pattern  (file)


二、关闭文件

1.末行模式关闭文件

   :q :退出,不保存

   :wq:保存并退出

   :q! :不保存并退出

   :w!  :强行保存

   :wq ------>:x

2.编辑模式下退出

   ZZ  : 保存退出


三、移动光标(编辑模式)

1.逐字符移动:    

   h:

   l:

   j:

   k:

   还可以 使用数字+移动键  

   如 :  5h:

              6l:

2.逐单词移动

   w  :移动到下一个单词的词首

   e  :跳至当前或下一个单词的词尾

   b  :跳至当前或前一个单词的词首

   这些命令也都支持数字组合  

       如: 3w

                4e

3.行内跳转

   0 :    绝对行首

   ^  :    行首的第一个非空白字符

   $ :     绝对行尾

4.行间跳转

   #G  : 直接跳转到第#行上

   G :表示最后一行


   末行模式下,直接给出行号也可跳转。


四、翻屏

       Ctrl + f   :向下翻一屏

       Ctrl + b  :向上翻一屏


       Ctrl +d  : 向下翻半屏

       Ctrl + u :向上翻半屏


五、删除单个字符

       x: 删除光标所在处的当个字符

       #x : 删除光标所在处及向后的共#个字符。


六、删除命令:d

       d命令要跟跳转命令组合使用

       #dw   , #de  ,#db


       dd:删除当前光标所在行

       #dd:删除包括光标所在行在内的#行


       末行模式下:

           StartADD,EndADDd

           如: .,+5d

                   d$ : 删除到行尾

                   d0 : 删除到行首

. (点)表示当前行

           $:最后一行

           +#:向下#行

           $-#: 倒数第几行


七、粘贴命令 p

       p :如果删除的或复制的内容为整行,则粘贴至光标所在行的上方。如果如果删除的或复制的内容为非整行,则粘贴至光标至所在字符的前面。

       P :如果删除的或复制的内容为整行,则粘贴至光标所在行的下方。如果如果删除的或复制的内容为非整行,则粘贴至光标至所在字符的后面。


八、复制命令 y

       y的用法同d命令

       yy

       3yy

       1,100y

       y0

       y$


九、修改

   (先删除内容,再转换为输入模式的)

       c命令

       c的用法同d命令

           cc

           c$

十、替换

       r    只能用来替换单个字符

       R : 直接转换为替换模式

       ESC 退出替换模式


十一:撤销编辑操作

       u:撤销前一次操作

           可以连续撤销操作,连续uuuuuu..   (内存中最多保存50次)

       #u :直接撤销#次


      还原最近一次的撤销操作  Ctrl + r


十二、重复前一次的编辑操作

. (点命令)


十三、可视化模式

v: 按字符选取

   V :按矩形块选取

       可配合编辑操作实现多种操作。


十四、查找

   /pattern

   ?pattern

        下一个   n

        上一个  N


十五、查找并替换

   在末行模式下使用s命令

   addr1,addr2s@pattern@string@gi

1,$

% 表示全文


十六、使用vim编辑多个文件

   vim file1 file2

   文件切换:

   :next  切换至下一个文件

   :prev  切换至上一个文件

   :last  切换至最后一个文件

   :first 切换至第一个文件

   

   退出

   :qa 全部退出


十七、如何分屏显示一个文件

   Ctrl+w,s 水平拆分窗口

   Ctrl+w,v 垂直拆分窗口


   在窗口间切换光标

   Ctrl+w ARROW(上下左右箭头)

   :qa 关闭所有窗口


十八、分窗口编辑多个文件

   vim -o :水平分割显示

   vim -O :垂直分割显示


十九、将当前文件的部分内容另存为另一个文件

   :w

   :addr1,addr2w /path/to/somewhere


二十、将另一个文件的内容填充在当前文件中

   :r /path/to/somefile  (类似sed中合并两个文件)


二十一、跟shell交互

   :! command


二十二、高级话题

   1.显示或取消显示行号

       :set nummber

       :set nu

   

       :set nonu

   2.忽略或区分子字符大小写

       :set ignorecase

       :set ic

       

       :set noic

   3.设定自动缩进

       :set autoindent

       :set ai


       :set noai

   

   4.查找到的文本高亮显示或取消

       :set hlsearch

       :set nohlsearch


   5.语法高亮

     :syntax on

     :syntax off


二十三、配置文件 (让功能默认有效)

/etc/vimrc    全局

~/.vimrc     仅对当前用户有效


vimtutor 是linux系统上的一个教程。