代码改变世界

Windows上使用VIM入门之文件操作

2011-12-28 21:32  开源天宝  阅读(25300)  评论(9编辑  收藏  举报

一、回顾

上一篇文章中,为了准备rails的编辑器,我们安装并且配置了vim。

在本篇文章中,我们将:

  •  介绍vim中特有的基本概念
  • 如何在vim中快速新建文件;
  • 如何在vim中修改当前操作目录
  • 如何在vim中打开文件;
  • 如何在vim中进行文件间不使用鼠标的切换;
  • 如何使用vim修改当前文件的名称;
  • 如何使用vim保存、退出文件;

二,vim入门之文件操作:

1,基本概念:

概念1:操作模式,如下图。这是打开或新建一个文件时的默认模式。

当我们想移动光标的位置时,一般有两种方式,使用鼠标或键盘上的上下左右键。Vim提供了另外一种移动方式,可以让你的手不用离开键盘那么远,这种方式就是在操作模式下进行的。
操作方法是:

用小写英文字母h、j、k、l,分别控制光标左、下、上、右移一格。

刚一进入vim,你可以先尝试一下这种移动方式。


概念2:输入模式。操作模式下是不能够输入信息的,进入输入模式的方法是:

用小写字母a 进入输入模式。将从目前光标所在位置的下一个位置开始输入文字;

 除了字母a,还有两种进入输入模式的方法,暂时不用记它:

按“i”进入插入模式后是从光标当前位置开始输入文件;--当前位置的意思是闪烁的黄色条块如果在”ceshi“的字母i上,那么插入的内容将在字母i之前;
按"o"进入插入模式后,是插入新的一行,从行首开始输入文字。

 退出输入模式,回到操作模式的方法是:

按ESC键。

我们按ESC键,返回到操作模式。下面讲述我们操作模式下的另一个非常重要的功能。
操作方法是:在操作模式下输入冒号”:“后面跟着命令,例如

:w 文件名.txt

 :w 储存正在编辑的文件,如下图。存储时要带着扩展名,不然存下来的文件就没有扩展名。只输入:w 后面不带文件名称,将保存当前编辑的文件。

概念3:选择模式。这个模式是用来复制粘贴移动文本的,在操作模式下按v,然后按h或者l试试,就会选中内容,如下图。
然后我们按小写字母y,它相当于ctrl + c的复制,然后移动光标到要粘贴的地方,按小写字母p,它相当于ctrl + v的粘贴。 

操作提示,

在操作模式下,
v 进入可视模式
h , j, k, l 移动光标选择内容
y 复制内容
p 粘贴内容
操作流程:v->y->p
其它操作,
yy 选择整行
dd 删除整行

2,文件操作:

修改当前操作目录: 

:cd 目录路径

  

新建文件,

:new 文件名.后缀
新建后,记得使用:w保存,否则直接关闭不会产生文件;
如果你录入了内容,关闭的时候会提醒你保存。

  结果如下图,

打开文件,打开文件有西面几种情况和方式,第一种方式,

:e 文件名
可以带文件路径;
可以使用tab键进行文件夹名称和文件名称的自动补全,可以多次按tab,直到找到需要的。
这会在当前光标所在的窗口内打开文件,如下图。
草考上面新建文件的窗口会发现不同。

第二种使用vim打开文件的方式,

vi flname1 flname2
可以同时打开多个文件;
只打开一个文件时,操作结果和":e"命令相同。

第三种使用vim打开文件的方式,

:split 文件
会将当前窗体分为多个区域,在新的区域打开文件。

  

第四种打开方式:

可以在其它操作命令前加tab,
如,":tabnew 文件名“,":tabe 文件名”,
这将在新的分页中打开文件,见如下图

 3,文件间的切换:

第一种方式:"ctrl + w"

:e#或Ctrl + 6 编辑前一个档案;
这会在当前区域编辑前一个文档,这不会出现a.txt
ctrl + w 切换到当前窗口中的不同区域的文件,所以下图中使用ctrl + w 也不会切换到a.txt ;
这会将光标切换到不同的区域 

第二种方式:":ls"然后":e#编号"

先使用":ls"查看已经打开的文件列表和编号,
然后使用":e#编号"切换需要编辑的文件。
在:ls中各文件的编号在未离开vim前是不会变的;
这可以切换到a.txt进行编辑。

  


补充:记得前文安装的NERDTree么?它也是窗口中的一个区域,所以也可以用ctrl + w 或者第二种方式进行切换。

4,修改文件名称

操作命令是:":f 新的文件名称"

:f 新的文件名称

  

5,保存和退出

:w 保存不退出
:q 退出文件 :wq 保存并退出 :q! 不保存并退出 :x 退出,如果文件更改则保存 shift + Z +Z 退出,如果文件更改则保存(按住Shift,再按两次z)

  

ok,通过上面的介绍,知道了vim对文件进行操作的命令,下次我将和大家分享快速移动光标、查找,更多复制粘贴等操作。