开始使用vim

vim是一个文本编辑器。虽然目前有很多编辑器可选,但是vim很可能是在没有图形界面情况下的唯一选择,因此还是有必要了解此编辑器。

如果之前没有使用过终端中的文本编辑器,可能会对vim有很多的不适应。需要说明的是,vim是为终端设计的编辑器,这意味着此编辑器在没有鼠标的情况下进行操作。此编辑器的操作逻辑(很大程度来来源于vi)具有很长的历史,这一方面导致它的逻辑不太能被新用户接受,另一个方面也说明这种操作逻辑的健壮性。

三种模式

vim具有三种模式:一般模式、编辑模式和命令模式。

打开vim后,就进入了一般模式,在这种模式中,常用的操作就是光标的移动和行的操作,比如行的复制、粘贴和删除等。

可以从一般模式进入编辑模式和命令模式,编辑模式与图形化的编辑器(比如记事本、写字板等)非常相似,可以进行字符级别的操作。

命令模式的常用操作是搜索、替换、读取、保存和对编辑器的设置(比如设置行号和缩进)等操作。

打开、编辑、保存、退出

使用vim打开一个文件很简单:

$ vim hello.txt

上面的命令会使用vim打开hello.txt文件,如果hello.txt存在,那么将打开该文件;如果不存在,那么将创建并打开该文件。

进入vim程序后,就进入了一般模式,这个时候可以使用按键hjkl移动光标,分别表示光标向左、上、下、右4个方向移动。

按键 功能
h 向左移动光标
j 向上移动光标
k 向下移动光标
l 向右移动光标

下面是一个动图示例:

vim打开文件并移动光标

为了便于读者理解,动图中终端右侧的提示表示实际的按键。

i键即可进入编辑模式,也可以使用其他按键:

按键 功能 按键 功能
i 从光标处插入 I 所在行第一个非空白字符处插入
o 所在行下面插入新行并在新行插入 O 所在行上面插入新行并在新行插入
a 光标处下一个字符插入 A 所在行最后字符后插入

i键后,就会进入编辑模式并从光标处开始插入,这时移动光标需要使用键盘上的箭头按键。使用i进入编辑模式后,vim窗口左下方会显示-- INSERT --字样,表示用户正在插入(编辑)模式。

对文件修改完成后,使用 ESC 键返回一般模式。

下面是动图示例:

vim的插入模式

返回一般模式后,使用命令模式对文件进行保存。

在一般模式中输入:即可进入命令模式,此时vim窗口左下方会显示:,之后输入w表示写入文件,即:w表示写入文件;:q表示离开vim;:wq表示写入文件后离开vim。

下面是动图示例:

vim写入并离开

至此,我们从一般模式按i键到编辑模式,编辑后按ESC键到一般模式,在命令模式进行保存和离开,完成了对一个文本文件的编辑。

下面是几个命令模式中常用的命令:

命令 功能
:w 写入文件
:q 离开
:q! 强制离开
:wq 写入文件并离开
:w filename 将文件另存为filename文件
:n1 n2 w filename 将n1~n2行另存为filename文件
:! command 暂时到shell中执行command命令
:set nu 显示行号
:set nonu 不显示行号

下面是设置显示行号和不显示行号的动图示例:

vim设置行号

一般模式

如上所述,在一般模式中,可以使用hjkl移动光标,分别表示光标向左、上、下、右4个方向移动。

下面是一般模式中的常用的操作:

按键 功能
Ctrl + f 下一页
Ctrl + b 上一页
0 移动光标至本行开头
$ 移动光标至本行末尾
gg 移动光标到第一行
nG n为数字,移动光标到第n行
G 移动光标到最后一行
n<Enter> n为数字,光标向下移动n行

下面是使用ggG在行之间移动光标的动图示例:

vim一般模式中在行中跳转

一般模式中可以对行进行复制、粘贴和删除的操作,下面是常用的操作:

按键 功能
yy 复制光标所在行
nyy n为数字,复制光标所在行(包含)向下n行
p 在光标所在行下面粘贴
P 在光标所在行上面粘贴
dd 删除光标所在行
ndd n为数字,删除光标所在行(包含)向下n行

下面是使用yy复制,p粘贴,在使用ndd删除的动图示例:

vim中的复制、粘贴和删除操作

还可以使用.(英文句号)键进行重做操作,u键进行撤销操作。

搜索与替换

在命令模式中进行搜索与替换:

命令 功能
/word 向下搜索word
?word 向上搜索word
n 搜索下一个
N 反向搜索下一个
:n1,n2s/word1/word2/g n1,n2为数字,在n1~n2行中用word2替换word1,替换时不询问
:1,$s/word1/word2/g 第一行至最后一行(全文)用word2替换word1,替换时不询问
:n1,n2s/word1/word2/gc n1,n2为数字,在n1~n2行中用word2替换word1,替换时询问

下面是一个在vim中搜索的动图示例:

vim搜索

区块操作

vim还支持区块操作:

按键 功能
v 字符选择
V 行选择
Ctrl + v 区块选择
y 复制区块
d 删除区块

下面是区块操作的动图示例:

vim区块操作

多窗口

vim支持多窗口操作,下面是常用的操作:

命令或按键 功能
:sp filename 横向新窗口打开filename文件
:vsp filename 纵向新窗口打开filename文件
Ctrl + w 之后 [hjkl] 将光标移动到左、上、下、右侧窗口

下面是两个纵向窗口的动图示例:

vim多窗口操作
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,093评论 9 467
  • Vim几句话介绍Vim是Unix系统上的文本编辑软件(你该不会不知道什么是文本编辑软件吧!),在windows上也...
    何必遠方阅读 3,116评论 0 3
  • vim的官方网站:http://www.vim.org/ 有心人请帮助一下乌干达的可怜儿童。。。。 以CentOS...
    可爱飞行猪阅读 466评论 0 0
  • dpkg 学习 安装mysql apt-get install mysql-server-5.6 apt-get ...
    sharonji阅读 428评论 0 0
  • 自那次帮季雅臣收拾办公室,尚舞就没再和他联系,她有时候觉得季雅臣真的是个怪人,彻彻底底的怪人,你要是说他平时,走路...
    WANGpolar阅读 104评论 0 0