Vim编程器

Vim编辑器使用基础教程
开始学习Vim
之前学习过Vim,但是由于种种原因,没有继续学习下去,其实是毅力不够,没能够坚持下去,所以到现在Vim也只会简单的操作,真是惭愧。现在重新拾起学习Vim,并记录学习过程、Vim中好玩的命令以及学习中遇到的问题……
开始学习Vim是痛苦,因为Vim中命令确实是太多了,但是硬记起来很快又会忘了,所以最有效的方式是:不断地练习,可能这个周期有点长,所以不要期望在短时间内将Vim用得比其他编辑器有效。
好了,废话不多说,开始Vim的学习之旅吧,Come On~
一 安装Vim
(1)在学习Vim之前,肯定是要安装Vim了。在Ubuntu终端下执行sudo apt-get install vim安装Vim。
(2)如何你是用Vim开发C/C++等程序,请顺便安装好C/C++所依赖的一些头文件和库等。在终端下执行sudo apt-get install build-essential。
二 了解Vim的三个基本模式
当我们安装完一个编辑器后,肯定会打开它,然后在里面输入点什么东西,但是打你打开Vim后,想要输入点什么却发现自己什么都没有输入,所以在写点东西之前,先来了解下Vim的三个基本模式
(1) Normal模式
当你启动Vim后,Vim会处于Normal模式。在Vim的Normal模式下,所有的键就是功能键,下面附上Vim快捷键分布图。

(2) Insert模式
在Normal模式下,按下键盘上的i键入Insert模式(当然还有其他方式,比如按下a、o、O等,i是最常用的方法),当你在Vim左下角看到 -Insert- 字体,表明你已经进入Vim的Insert模式。在Insert模式下,你可以自由的输入你想要输入的东西了,就像使用其他编辑器一样~
(3) Visual模式
在Normal模式下按下,按下键盘上的v键进入Visual模式。在Visual模式下,可以让你选择文件的一部分内容,以便进行删除、复制等操作。
三 Vim三个基本模式之间的切换
(1) Normal <-> Insert
在Normal模式下,按下键盘上的i进入Insert模式
在Insert模式下,按下键盘上的Esc键回到Normal模式,如果你不确定是否进入了Normal模式,可以多次按下Esc键
(2) Noraml <-> Visual
在Normal模式下,按下键盘上的v进入Visual模式
在Visual模式下,按下键盘上的Esc键回到Normal模式(也可以再次按下v键)
好了,到此为此,已经完成学习Vim的准备工程,准备正式开始学习Vim……
Vim编辑器使用基础教程
Vim基础操作
[日期:2013-05-09] 来源:Linux社区 作者:qiurisuixiang [字体:大 中 小]
在正式使用Vim之前,先来点开胃菜,学习下Vim中一些常用的命令,有了这些基本命令,才能让我们使用Vim更加得心应手,加快工作的效率~
注意:接下来将要介绍的命令主要是用在Vim的Normal模式下。
一 创建/修改文件
当需要对一个文件进行编辑时,首先这个文件得存在。你可以使用Vim创建或修改文件(假设文件名为hahaya.cc),在终端下执行 Vim hahaya.cc,这条命令会打开hahaya.cc文件,当hahaya.cc这个文件不存在时,Vim会创建这个文件并打开。
二 在Vim中打开/保存/退出/修改文件
(1) :e filename < - > 打开文件filename,注意filename包含文件路径
:e ~/hahaya.cc 打开主目录下的hahaya.cc文件
(2) saveas filename < - > 文件另存为,注意filename包含文件路径
(3) :w < - > 文件保存
(4) :q < - > 不保存退出,回到终端下
(5) :q! < - > 不保存强制退出
(6) :wq < - > 保存退出
(7) :wq! < - > 强制保存退出
(8) :bn < - > 打开多个文件时,使用该命令切换到下一个文件
(9) :bp < - > 打开多个文件时,使用该命令切换到上一个文件
三 各种插入模式
前面说到过从Normal模式进入Insert模式有很多种方法,下面介绍几种常用的方法
(1) i < - > 在光标前插入,进入到Insert模式
(2) a < - > 在光标后插入,进入Insert模式
(3) o < - > 在当前行后插入一行,进入Insert模式
(4) O < - > 在当前行前插入一行,进入Insert模式
(5) cw < - > change word,替换光标当前所在位置到该单词结尾的字符,其实实际效果是删除,进入Insert模式
四 简单的光标移动
(1) h < - > 将光标向前移动一个字符
(2) j < - > 向下移动一行
(3) k < - > 向上移动一行
(4) l < - > 将光标向后移动一个字符
(5) 0 < - > 数字0,移动到光标所在行的行头
(6) ^ < - > 移动到本行第一个不是blank字符的位置(所谓blank字符就是空格、Tab、换行、回车等)
(7) $ < - > 移动到本行行尾
(8) g_ < - > 移动到本行最后一个不是blank字符的位置
(9) G < - > 移动到本文件的最后一行
(10) NG < - > 移动到本文件的第N行
(11) gg < - > 移动到本文件的第一行
五 拷贝/粘贴
(1) yy < - > 拷贝当前行
(2) Nyy < - > 拷贝从当前行开始的总共N行
(3) p < - > 小写p,粘贴拷贝的内容
六 删除
(1) dd < - > 删除当前行,并把删除的行存放在剪切板中,所有可以使用p进行粘贴
(2) Ndd < - > 删除当前行开始的总共N行,并把删除的行存放在剪切板中,所有可以使用p进行粘贴
七 撤消
(1) u < - > 撤消上一次操作
(2) Ctrl-r < - > 同时按下Ctrl和r键,对u的撤消
Vim中的命令确实比较多,所以记忆起来十分困难,就算记住了,然后不用,那么一段时间后还是会忘记,所以学习Vim命令最好的方法就是:多练,这样不知不觉中就会将Vim的命令牢牢的记住~

快速掌握Vim编辑
配置文件和shell脚本文件等都是文本文件,对它们都需要使用文本编辑器进行编辑处理。在Linux系统中有许多种文本编辑器,其中既有字符界面的如:vi,emacs等,也有图形界面的如:“附件”菜单项下的“文本编辑器(gedit)”等,用户可以根据自己的喜好选择使用,但是对于学习使用Linux系统的用户一般都会学校vi编辑器的用法。
编辑器vi可以编辑各种无格式的文本文件,尤其便于编辑源程序。它可以实现输入、 查找、替换、删除和块操作等许多基本的文本操作功能,而且用户可以根据自己的需要对其进行定制,以符合自己的习惯。在vim中,还有一些增强的功能,如撤销多行输入、参数高亮显示、命令行编辑和支持图形方式vi的多窗口、多缓冲区等。
由于vi是交互式的文本编辑器,它没有菜单,只有命令,而且命令非常多,所有很多初学者使用不习惯,但是在掌握了它的使用诀窍后很快会喜爱上它的。在vi中有3种工作模式:文本编辑模式、命令模式、行编辑模式。其中,文本编辑模式要工作在插入状态下,而行编辑模式实际上也是命令模式的一种,只不过它是需要在命令行模式下先输入“:”后在输入命令而已。用户可以根据需要,通过一些命令在这三中模
式之间自由地切换,而大多数命令就是该操作的英文单词的第一个字母。
另外,vi只是一个文本编辑器,它不是排版软件,所以它不能像word那样可以对文档中的字体、格式和段落等属性进行编辑,这是由它的用途而决定的。在vi中对文本所做的修改将被放到内存缓冲区中,只要用户不输入存盘命令,那么随时都可以放弃这些修改。一般情况下,文本在存盘时vi不会自动保存备份文件,但是在打开文件时Linux系统会在磁盘相关目录下自动创建扩展名为.swp的文件,这个文件也称为交换
文件。如果由于某些原因,如编辑器崩溃、系统断电或非法关机等操作时,该文件就作为备份文件使用,用户在下次启动系统时会在自己的主目录下收到相关邮件,由用户决定是否通过命令来恢复文件。
推荐阅读:
强大的Vim 编辑器 http://www.linuxidc.com/Linux/2013-07/87544.htm
在CentOS 6.2上搭建Vim开发环境 http://www.linuxidc.com/Linux/2013-07/87363.htm
Vim 7.4a 发布,全新更快的正则表达式引擎 http://www.linuxidc.com/Linux/2013-07/87035.htm
CentOS 5.4 安装高亮Vim编辑工具 http://www.linuxidc.com/Linux/2013-06/86508.htm
Vim技巧分享:C语言设置 http://www.linuxidc.com/Linux/2012-12/77124.htm
Ubuntu中设置Vim的行号 http://www.linuxidc.com/Linux/2012-12/75485.htm
基本命令
在vi编辑器的命令模式下,命令的组成格式是:nnc。其中,字符c是命令,nn是整数值,它表示该命令将重复执行nn次,如果不给出重复次数的nn值,则命令将只执行一次。例如,在命令模式下按j键表示光标向下移动1行,而在命令模式下输入10j则表示光标将向下移动10行。显然,这样比单纯移动键盘光标键效率要高。
1、定位光标
由于文件内容的插入、删除和替换等操作都是针对光标所在的字符或行而言的,因此应该熟悉光标移动的命令和方法,并充分利用命令重复执行的次数。
w 将光标移动到下1个单词的第1个字符。
W 将光标移动到后面第2个单词的第1个字符
e或E 将光标移动到下1个单词的最后1个字符
b或B 将光标移动到前1个单词的第1个字符
/string 向后移动光标,并使之停留在字符串string的第一个字符处
?string 向前移动光标,并使之停留在字符串string的第一个字符处
将光标移动到本行的最后1个字符上  
Ctrl+b      将光标移动到本行的第1个字符上  
其中,w或W命令的差别只是在于非空格分割字符上,w命令视非空格分隔字符为单词,而W命令则忽略它。当使用/string或?string命令时,除了光标移动到指定的位置外,还使文件中所有符合字符串string的地方高亮显。  
2、插入或添加  
无论是插入还是添加,都是向所编辑的文件中加入新的内容,但由于插入可以在光标前或当前行前,添加可以在光标后或当前行后,所以vi提供了多种插入和添加命令:  
i            在光标前插入字符  
I            在当前行的行头插入字符  
a            在光标后添加字符  
A            在当前行的行尾添加字符  
o            在当前行后添加新行  
O            在当前行前添加新行  
由于这6个命令都会使vi编辑器从命令模式切换到文本编辑模式下的插入状态,所以当插入或添加完成后,必须按ESC键返回到命令模式下。  
3、删除  
删除文本文件中的内容,可以按照字符、单词和行为单位进行删除,因此,也有多个删除命令。删除命令执行后将使vi继续处于命令模式下。  
x            删除光标所在位置的字符,且光标移动到本行的下1个字符  
X            删除光标所在位置的前一个字符,且光标停留在原来的字符上  
D            删除光标所在位置到行尾的所有字符,且光标停留在本行的行尾  
按2次d      删除光标所在的行,且光标移动到下1行  
先d后w      删除光标所在位置到下一个单词的第一个字符间的所有字符,且  
光标移动到下一个单词的第一个字符。  
4、查找  
在文件中查找字符串时,可以向前查找也可以向后查找,因此有两种命令,其格式为:  
/expression  
?expression  
其中,斜杠(/)表示从当前位置开始向后查找,问号(?)表示从当前位置开始向前查找,expression是正则表达式。如果正则表达式是字符串且包含:. ^
将光标移动到本行的最后1个字符上  Ctrl+b      将光标移动到本行的第1个字符上  其中,w或W命令的差别只是在于非空格分割字符上,w命令视非空格分隔字符为单词,而W命令则忽略它。当使用/string或?string命令时,除了光标移动到指定的位置外,还使文件中所有符合字符串string的地方高亮显。  2、插入或添加  无论是插入还是添加,都是向所编辑的文件中加入新的内容,但由于插入可以在光标前或当前行前,添加可以在光标后或当前行后,所以vi提供了多种插入和添加命令:  i            在光标前插入字符  I            在当前行的行头插入字符  a            在光标后添加字符  A            在当前行的行尾添加字符  o            在当前行后添加新行  O            在当前行前添加新行  由于这6个命令都会使vi编辑器从命令模式切换到文本编辑模式下的插入状态,所以当插入或添加完成后,必须按ESC键返回到命令模式下。  3、删除  删除文本文件中的内容,可以按照字符、单词和行为单位进行删除,因此,也有多个删除命令。删除命令执行后将使vi继续处于命令模式下。  x            删除光标所在位置的字符,且光标移动到本行的下1个字符  X            删除光标所在位置的前一个字符,且光标停留在原来的字符上  D            删除光标所在位置到行尾的所有字符,且光标停留在本行的行尾  按2次d      删除光标所在的行,且光标移动到下1行  先d后w      删除光标所在位置到下一个单词的第一个字符间的所有字符,且  光标移动到下一个单词的第一个字符。  4、查找  在文件中查找字符串时,可以向前查找也可以向后查找,因此有两种命令,其格式为:  /expression  ?expression  其中,斜杠(/)表示从当前位置开始向后查找,问号(?)表示从当前位置开始向前查找,expression是正则表达式。如果正则表达式是字符串且包含:. ^
/ ~等特殊字符(元字符),则查找包含这些特殊字符的字符串时,一定要在它们每一个前面加上反斜杠()字符表示转义。
For the users,permission to use at is detemined by the file ~/yt-3.1.8 contains the exact definition of the time specification.
查找字符串~/yt-3.1.8,在命令行模式下输入:/\~\/yt-3.1.8,注意:要在
每1个标签字符前都要使用转移字符。
5、修改
在vi编辑器中修改文本文件内容的命令主要是删除指定的字符或行并输入新的字符,替换指定的字符或行。
s 删除光标所在位置的字符,且光标移动到下1个字符上。然后进入
文本编辑模式下的插入状态,等待用户输入
S 删除光标所在行,且光标仍在本行的行首,然后进入文本编辑模式下的插入状态,等待用户输入
按2次c 与S命令功能相同
C或c rr11nnrR使使viREPLACE(EscsSCc 删 除 光 标 所 在 位 置 到 行 尾 的 所 有 字 符 , 且 光 标 停 留 在 本 行 的 行 尾 , 然 后 进 入 文 本 编 辑 模 式 下 的 插 入 状 态 , 等 待 用 户 输 入 r 用 r 命 令 后 输 入 字 符 替 换 当 前 光 标 位 置 处 的 字 符 。 1 次 只 能 替 换 1 个 字 符 , 如 果 是 相 同 连 续 的 字 符 可 以 用 n n r 命 令 的 形 式 。 R 使 用 该 命 令 会 使 用 v i 进 入 文 本 编 辑 模 式 的 替 换 状 态 , 在 屏 幕 的 左 下 方 显 示 “ R E P L A C E ( 替 换 ) ” 状 态 信 息 。 在 这 种 状 态 下 , 从 当 前 光 标 所 在 的 位 置 开 始 , 新 输 入 的 字 符 将 逐 个 替 换 原 有 的 字 符 , 直 到 用 户 按 下 E s c 键 返 回 命 令 模 式 为 止 。 注 意 : s 、 S 、 C 、 c 命令是修改命令,它们与x、X、D、d删除命令不同的地方在于删除字符或行后vi的工作模式转变,等待用户插入字符修改。R、r是替换命令,此时vi是文本编辑模式下的替换状态而非插入状态,输入的新字符将覆盖旧字符,所以在输入时一定要注意是否覆盖了不该覆盖的字符。
6、剪切与粘贴
在文本文件编辑中,经常需要将某处的1个句子或若干行文本移动或复制到本文件的其他地方,这就需要编辑器有剪切和粘贴的功能。
vi中的缓冲区分为通用缓冲区和专用缓存区,在一般情况下,最近1次的抽取、删除、插入和修改的内容都将存放在通用缓冲区中。利用这些缓冲区可以非常方便地实现文件内容的剪切和粘贴。
按2次y 将光标所在行的内容复制到通用缓冲区,该命令也称为抽取。
p 取出通用缓冲区中的内容放在光标所在位置的后面,即粘贴。
复制多行可以使用nnyy命令。另外,D、dd、O等删除、插入命令也是以行为单位将处理的内容放入通用缓冲区的。
7、撤销操作
使用编辑器的用户都会希望有撤销操作的命令。在vi编辑器中使用u键可以恢复。
8、几个特殊的命令
J命令
合并第n行与第n+1行,使用时,将光标移动到第n行上按J键即可。
.命令
重复执行前一条操作命令。
~命令
改变光标所在位置字母的大小写,即大写变小写,小写变大写。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值