VIM使用基础篇

VIM常用命令总结

1、四个模式

 (1)一般模式

      Linux系统下或者用软件直接打开未进入VIM编辑器的时候时的模式。

 (2)命令模式

      在一般模式下,输入[vim][vi]进入命令模式,退出命令模式可用[q]命令来操作。

 (3)底线命令模式

      在命令模式下,输入[:]可进入底线命令模式,返回至命令模式可按ESC按键。

 (4)插入模式

      分6种:

                第一是[i](可以在当前光标之前插入文本)

               第二是[I](在行前插入)

                第二是[a](可以在当前光标之后插入文本)

                第三是[A](在光标所在行的末尾添加文本)

                第四是[o](在当前行的下一行插入文本)

                第五是[O](在当前行的上一行插入文本)

      返回至命令模式,按ESC按键

 

2、打开命令(1、2、3是在未打开任何文件的基础上打开文件;4、5、6、7、8是在已打开文件的基础上打开文件)

 (1)[vim 文件名]:如果当前文件夹下没有该文件名则就新建一个文件,若是有该文件则直接打开。

 (2)[vim -o 文件1 文件2]:可以打开多个文件。该命令打开的是水平窗口分隔的视图模式

 (3)[vim 文件1 文件2 ]:可同时打开多个文件但是不在同一屏显示,所以需要用命令:n来切换打开的文件。

 (4)[:tab split/new]或是[:tabnew] 在已打开文件的基础上再打开文件, 这个命令与(3)命令不同的地方就是需要用gt命令进行不同文件的切换

    命令详解:[:tab split]单纯的这条命令是在已打开文件的基础上,在打开一个同已打开文件一样的视图,且不在同一屏显示(gt进行切换)

              [:tabnew]是在已打开文件的基础上,不在同一屏打开一个新的视图(gt切换)

 (5)[:split 文件名](已存在) 这个命令是在已打开文件的基础上,打开一个在同一屏窗口打开的水平视图模式,

(6):new命令能打开新的文件区域,也是水平的区域的视图。

 (7):vsplit 文件名(已存在)在已打开文件的基础上在同一屏打开一个垂直的视图,:vsplit命令只是打开一个同已打开文件一样的视图

(8):vnew 命令打开一个垂直的新的区域。

 

3、在已打开水平或是垂直的窗口模式下进行切换时的命令

   ctrl+W+h:左区域 

   ctrl+W+l:右区域

   ctrl+W+j:下区域

   ctrl+W+k:上区域

   ctrl+W+t:顶部区域

   ctrl+W+b:底部区域

 

4、窗口的关闭与离开vim

    ZZ  保存并退出

   :close  关闭最后打开的一个视图,但保留最后一个

   :quit   关闭窗口,可以关闭最后一个

   :only   关闭除当前窗口之外所有的窗口,但前提其他窗口必须全部保存

   :qall   在保证全部窗口都已保存的状态下,退出全部窗口。

   :q      关闭窗口 前提必须保存

   :wall   保存所有窗口

   :wqall  保存所有并退出

   :q!    不保存,并退出vim

   :wq或者是:x  保存并退出vim

   

5、移动类操作

   $  移动到当前行的末尾

   ^  移动到当前行的第一个非空白字符上

   0  移动到当前行的第一个字符上(可以是空白字符)

   gg 跳转到第一行(可以是空白行)

   G  定位到最后一行(可以是空白行)

   zz  将光标所在行,移到当前屏幕的正中央

   zt  将光标所在行,移到当前屏幕的第一行,若是光标在文档的第一行,则该命令无作用。

   zb  将光标所在行,移到当前屏幕的最后一行。若是光标在文档的最后一行,则该命令无作用。

   H 移至当前屏幕的第一行

   M 移至当前屏幕的中间一行

   L 移至当前屏幕的最后一行

   :行号  移至文件的第n行

   n+  移至光标之后第n行

   n-  移至光标之前第n行

   w  将光标向前移动一个单词的首字符上

   b  将光标向后移动一个单词的首字符上

   ge 将光标向前移动一个单词的尾字符上

   e  将光标向后移动一个单词的尾字符上

   shift+G 跳至最后一行

   行号 shift+G 跳至指定行号的行

   ctrl+g 显示当前光标所在位置和文件状态的信息

 

6、删除类命令

   x  删除光标所在位置的字符

   X  删除光标之前的字符

   D  删除光标至行尾的字符

   :行号1:行号2d 删除范围内的资料

   :数字d  删除第‘数字’行的资料

   :%d  删除整个编辑缓冲区的资料

   dd 删除整行

   dw 光标所在位置至单词末尾

   db 光标所在位置至前一个单词的开始

   diw删除当前单词 不包含空格

   daw删除当前单词 包含空格

   dG 删除至文章末尾

   dgg删除至文章开头

   d$ 删除至行尾的

 

7、复制与取出

   y 复制

   yy 复制一整行

   p 复制后取出与删除后取出

   :行号1,行号2co行号3  将第行号1至第行号2的资料复制到第行号3之后

   :行号1,行号2mo行号3  将第行号1至第行号2的资料搬移至第行号3之后

 

8、搜索类命令

   / 从光标处向后搜索

   ? 从光标处向前搜索

   shift+# 光标所在位置的单词 向前搜索

   shift+* 光标所在位置的单词 向后搜索

   % 可以匹配)}】括号

 

9、撤销类命令

   u 撤销最后的命令

   U 撤销一行内的操作

   ctrl+R 重做

 

10、替换类命令

   r 替换原来位置的字符

   cw 替换当前光标至单词末尾的内容

   c$ 替换当前光标至行末的内容

   R 连续替换字符

   :s/old/new/g   替换一行中的字符

   :%s/old/new/g  提行整个文章中的字符

   :#,#s/old/new/g  替换选定行中的字符

 

11、读写资料

   :行号1,行号2w 文件名  将行号内范围的资料写入规定的文件内

   :行号1,行号2w>>文件名  将行号内范围的资料写入该文件之后

:r+文件名 将文件插入到当前编辑文件的光标所在位置

   :e [filename] 编辑新的文件

   :e! [filename] 放弃当前修改的文件,编辑新的文件

   :sh 进入shell环境,使用exit退出,回到编辑器中

    #,# w 文件名  保存选定行号的内容

 

12、比较文件

   vimdiff 文件1 文件2

 

13、环境的设定

   :set all 可设置的环境变量列表

   :set    环境变量的当前值

   :set nu 设定资料的行号

   :set nonu 取消行号设定

   :set ai 自动内缩

   :set noai 取消自动内缩

 

   :set ruler 会在屏幕右下角显示当前光标所处位置,并随光移动而改变,占用屏幕空间较小

   :set hlsearch 在使用查找功能时,会高亮显示所有匹配的内容

   :set nohlsearch 关闭查找高亮功能

   :set incsearch  使vim在输入字符串的过程中,光标就可定位显示匹配点

   :set nowrapscan 关闭查找自动回环功能,即查找到文件结尾处,结束查找,默认状态是自动回环

  :set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 设定文件的编码

  :syntax on  开启语法加亮

 :colorscheme pablo  配色风格

 :set linespace=4  设定行距 GUI界面中生效

设定GUI选项

 :set guioptions=gmrLt  m:菜单

 :set guioptions=gmrLt  T:工具栏

 :set tabstop=4  设定Tab键缩进的空格数

 :set shiftwidth=4  设定编辑器将多少空格视为一个缩进

 :set expandtab  将缩进转换为空格

 :set foldmethod=indent  设定折叠方式

 :set iskeyword+=33-47,58-64,91-96,123-128  字符将被视为单词的一部分 (ASCII)

 

posted @ 2014-04-22 17:28  非雨  阅读(121)  评论(0)    收藏  举报