v编辑器  (vim 增强版)

一、vim模式

 

编辑模式(命令模式)

输入模式

末行模式

 

打开文件时默认处于编辑模式

 

模式转换

编辑模式-->输入模式

     i:在当前光标所在文字的前面转换为输入模式

     a:在。。。。。。。。。后面。。。。。。。

     o:在。。。。。。行的下方新建一行并转为输入模式

     O:在。。。。。。。。上方。。。。。。。。。。。

     I:在。。。。。。行的行首转换为。。。

     A:。。。。。。。。。。尾。。。。。。

 

输入模式-->编辑模式

     ESC 

     

编辑模式-->末行模式

     :

 

末行模式-->编辑模式

     ESC

 

 

二、打开编辑器                 

vim /path/file   打开或创建一个新文件

    vim +n file  可以指定打开后光标直接到第n

    vim + filr   可以指定打开文件后光标直接到最后一行

    vim +/pattern 打开文件光标直接到被模式匹配到的第一个的行上

    

    

 

三、关闭编辑器

 

末行模式下关闭文件:

:q    不保存退出

:wq   保存并退出(也可以用:x

:q!   不保存强制退出

 

编辑模式下退出

ZZ    保存退出

 

 

四、移动光标

   1、逐字移动

    h:

    l:

    j:

    k:

    前面加数字可以指定移动数

   2、以单词为单位移动

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

    e:跳至本单词或下一单词的词尾

    b:跳转到当前或前一单词的词首

    前面也可以指定移动数

 

   3、行内跳转

    0 : 跳到行首 (绝对行首)

    ^ : 跳到行首 (行首的第一个空白字符)

    $ : 绝对行尾

   

   4、行间条转

   #G:跳至第#

   G :最后一行

   

   末行模式下,直接给出行号即可

 

 五、翻屏

   Ctrl+f  向下翻一屏

   Ctrl+b  向上翻一屏

 

   Ctrl+d  向下翻半屏

   Ctrl+u  向上翻半屏

 

六、编辑

   xdel键  删除光标所在处及向后的字符 

      (5x 一次删5个)

   d 跳转符:

      d$ 从光标删到行尾

      d0 从光标删到行首

      (# d跳转符  )

 

 末行模式下:

   .:表示当前行

   $:最后一行

   +#:向下的$

   

   startLine,endLine dd

 

七、粘贴

p:如果删除或复制的为整行内容,则粘贴在所在行下放      如果复制或删除的内容非整行,则粘贴在光标所在位置后方

P:如果删除或复制的为整行内容,则粘贴在所在行上放      如果复制或删除的内容非整行,则粘贴在光标所在位置前方

 

八、复制  y

   用法和d用法相同

 

 

九、修改  先删除内容,再转换为输入模式

   c:用法同d   但是删完后立刻到编辑模式

   

十、替换

   r:替换当前光标下字符

   R:直接进入替换模式   

 

十一、撤销

  编辑模式下按u (缓存中指只会保存最近50)

  撤销刚才的撤销ctrl+r

 

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

  .

 

十三、可视化模式

v : 按字符选取

V : 按矩形选择

 

十四、查找

/pattern    向下查找

?pattern    向上查找

n下一个   N  上一个

 

十五、查找并替换

在末行模式下使用s命令

sed中的s替换一样

起始位置,结束位置s/pattern/string/gi

1,$  第一行到最后一行

%    表示全文

 

例:  %s/ftp/ftpx/g

 

 

十六、如何打开多个文件

vim  file1  file2

可以同时打开多个文件,但只会默认显示第一个文件

末行模式下:

next 切换到下一文件

prev 切换到前一个文件

last 切换到最后一个文件

first 切换到第一个文件

 

退出:

qall退出所有文件

 

分屏显示多个文件

vim -o file1 file2  水平分割显示

vim -O file1 file2  垂直分割显示

 

 

十七、分屏显示一个文件

 

ctrl+w  , s   : 水平拆分   得到两个窗口  

         ctrl + w , ↓光标切换到下一窗口    

         ctrl + w . ↑光标切换到上一窗口

 

ctrl+w  , v   : 垂直分割窗口

 ctrl + w , →光标切换到右一窗口    

         ctrl + w . ←光标切换到上一窗口

 

 

 

十八、将当前文件部分内容另存为另一文件

末行模式下

:w   /path/file

:ADDR1,ADDR2w /path/file    将某些行另存到某文件

 

 

十九、将另一文件的内容填充到当前文件

末行模式

:r /path/file 将某文件内容填充到当前光标位置

 

二十、末行模式执行shell

:! COMLAND  

回车就可以返回文件

 

二十一、高级话题

1、显示或取消行号

:set nu   显示行号

:set nonu 取消行号

 

 

2、设置忽略或区分大小写

:set ignorecase  忽略大小写(set ic)

:set noignorecase区分大小写

 

 

3、设定自动缩进

:set  autoindent  设定自动缩进(set ai

:set  noautoindent 取消自动缩进(set noai)

 

 

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

:set hlsearch      高亮搜索到的文本

:set nohlsearch    取消高亮搜索到的文本

 

 

5、语法高亮

:syntax on    开启

:syntax off   关闭

 

 

二十二、配置文件

/etc/vimrc    全局

~/.vimrc      用户配置

 

 

二三、非法退出

非法退出会产生  ***.swp文件

vim -r file 恢复之前未保存内容并打开,修改完后删除***.swp文件

 

vimtutor   vim学习指南