[Linux实用命令]-2-Vim文本编辑器常用命令

引言

这篇文章主要介绍Linux中Vim文本编辑器的使用方法,Vim编辑器是在Vi编辑器之后被开发出来的,Vi和Vim的一些基础命令都大同小异,它们默认被当前大多数的Linux发行版所安装(默认安装Vi的居多,Vim可能需要手动安装);本文使用Vim编辑器举例,方法同样适用于Vi编辑器。

文章目录

  • 0×1.Vim编辑器输入模式介绍
  • 0×2.Vim编辑器命令模式常用命令
  •      a.控制光标的移动
    
  •      b.删除文字操作
    
  •      c.复制和粘贴操作
    
  •      d.字符替换操作
    
  • 0×3.Vim编辑器底行模式下常用命令
  • 0×4.Vim编辑器可视化模式(Visual Mode)常用命令

0×1.Vim编辑器输入模式介绍

在介绍Vim的几种模式之前,先简单的介绍一下Vi和Vim:

Vim编辑器是所有Unix及Linux系统下最基本的文本编辑器,有点类似Windows下的记事本程序(Notepad.exe),但Vim编辑器比Windows下的记事本的功能强大很多。

Vim编辑器有四种常用模式,分别是命令模式、编辑模式、底行模式和可视化模式(Visual Mode)请看下面的实例:

#部分Linux发行版可能需要先安装,例如Ubuntu可以使用下面的命令先安装vim编辑
qing@qingsword.com:~$ sudo apt-get install vim
 
#使用vim命令后面自定义一个文件名,可以创建一个新的文本文件,并且进入这个文本文件的命令模式下。
qing@qingsword.com:~$ vim testfile
 
#新创建文件或者打开一个存在的文件,默认进入的是命令模式,命令模式是不能输入和编辑文本的,只能识别键盘的字母命令,在命令模式下有三种方式可以进入编辑模式
#按i 当前光标位置进入编辑模式,
#按a 当前光标退一格进入编辑模式,
#按o 另起一行进入编辑模式。
~
"testfile" [New File]
 
#按i进入编辑模式后就能输入和编辑文本了,随便输入下面几行
Hello!
Welcome to My Website:
QingSword.com
 
sentence 12345
~
-- INSERT -- #进入编辑模式后下面会显示"INSERT",如果安装了中文环境就是"插入"
 
#输入完成后按"esc"键退出编辑模式,回到命令模式,此时文件还没有保存,如果想保存刚才的输入,可以在命令模式下输入":"(英文输入法下的说明号),输入:就进入了"底行模式",":"后面可以输入底行模式所支持的命令。
 
Hello!
Welcome to My Website:
QingSword.com
 
sentence 12345
~
:w otherfile    #会将文件另存为"otherfile"
:q      #退出而不保存修
:q!     #强行退出而不保存修改(未修改的文件可以直接:q,而修改过不想保存修改的必须强制:q!)
:wq     #退出保存修改 
#这里我使用":wq"退出保存修改,查看一下刚才的输入被保存到文件中了
qing@qingsword.com:~$ more testfile
Hello!
Welcome to My Website:
QingSword.com
 
sentence 12345
 
#在Vim的命令模式下进入可视化模式的方法有三种:
#输入v进入字符可视化模式,使用光标选择是以字符为单位的
#输入V(大写)进入行可视化模式,使用光标选择是以行为单位的
#使用"CRTL+v"组合键,进入块可视化模式,可以使用光标选择一个矩形区域。
#可视化模式的使用方法将在本文的第4小节中详细说明

很多朋友初次使用Vim时,进入了命令模式,尝试改动文本的时候发现无法选择,也无法输入,顿时觉得Vim乱七八糟各种不好用,其实是因为不理解上面所说的几种模式,当使用熟练后就会发现,这种设计比鼠标编辑文本的效率要高很多。

Vim的四种输入模式介绍完毕,下面看Vim的命令模式下都有哪些常用的命令。

0×2.Vim编辑器命令模式常用命令

Vim的命令模式下是不能使用退格键或鼠标来编辑文本的,但Vim提供了各种复杂的命令用于在命令模式下编辑文本。

a.控制光标的移动

命令行模式下键盘上的hjkl这四个键和键盘上箭头键的对应关系如下,使用hjkl或者键盘上的箭头按键的效果是一样的:

h j k l
← ↓ ↑ →

使用下面的组合键可以快速移动光标:

[ctrl]+[b] 向上移动一页 backward;
[ctrl]+[f] 向下移动一页 forward;
[ctrl]+[u] 向上移动半页 up;
[ctrl]+[d] 向上移动半页 down;
[g] (小写g)按两下回到文章开头;
[G] (大写G)按一下到文章末尾;
[0] 回到光标行行首;
[$] 到光标行行末;
[w] 光标移动到下一字第一个字母;
[e] 到下一字尾字母;
[b] 到前一字首字母;
[#l] 向后移动#位置(如果到达行末则停留),例如:3l 光标向后移动3位;

上面这些组合键中,个人觉得比较实用的几个按键是翻页,到文章顶部或底部,以及去往行首和行末。

b.删除文字操作

使用下面这些按键或按键组合可以快速删除一段或单个字符:

[x] 删除光标所在位置的那个字符;
[#x] 包括光标位置的字符向后删除#个;比如3x,删除3个字符;
[X] 向前删除一个字符(光标所在位置前面那个字符被删除);
[#X] 向前删除#个字符,同上;
[cw] 删除从光标位置到词尾的全部字符,删除后直接进入编辑模式。比如:"test vi application"光标在e上,输入cw将删除"est";
[c#w] 从光标位置开始,向后删除#个单词,删除后直接进入编辑模式;比如"test vi application"光标在e上,输入c2w将删除"est vi";
[dd] 删除光标所在行;
[#dd] 向下删除#行(包括光标所在行);比如,输入"3dd",就是包括光标所在行向下删除3行;
[u] 回退操作,退回上一步,遇到误操作时,这个按键非常有用,它可以逐步退回;

c.复制和粘贴操作

使用下面这些按键或按键组合可以快速复制粘贴一段或单个字符:

[yw] 复制光标所在位置到单词结尾的部分。比如:"test vi application"光标在e上,则复制"est";
[#yw] 复制从光标位置,往后的#个字;比如:"test vi application This is free software"光标在e上,输入"3yw"则复制"est vi application";
[yy] 复制光标所在行;
[#yy] 包括光标所在行向下复制#行,比如:"4yy"则向下复制4行;
[p] 粘贴,如果复制的是一行或几行,按下p键的时候,会向下另起一新行粘贴刚才复制的这几行;如果复制的是一个单词或几个单词,按下p键的时候,会在当前光标位置后面粘贴出刚才复制的内容;

d.字符替换操作

[r] 替换单个字符。如:"test vi application"光标在e上,按一下r,然后输入s,"test"就变成了"tsst";
[R] 替换多个字符。按下这个键后vi界面底部会显示"REPLACE",此时输入的字符会直接覆盖后面的字符,直到按下esc键;

[ctrl]+[g] 在文本底部显示文件名、是否修改、文件是否为只读、有多少行、当前光标所在位置占%多少,显示如下:
"filename" [Modified][readonly] line 30 of 187 16% col 15

0×3.Vim编辑器底行模式下常用命令

末行模式常用命令(:)

:set nu 显示行号;
:4 跳到第四行;
:/word 查找某字(回车后按n向下递归查找,按N向上递归查找),比如查找"is",命令就是":/is";
:10,s/is/was/g 文字替换操作,从当前文件的第10行开始搜索(s),到最后一行(/g),将"is"替换成"was";
:%s/is/was/g 如果是从第一行到最后一行,直接使用%s即可,这一句的意思是从第一行到行末,将"is"替换成"was";

0×4.Vim编辑器可视化模式(Visual Mode)常用命令

Vim编辑器的可视化模式(Visual Mode)允许使用光标选择一个高亮区域,然后对这个区域中的内容进行编辑操作。

假设我用vim打开一个文件,里面的内容如下,光标在红色1的位置,现在可以通过按下"Ctrl+v"进入可视化编辑模式的块模式:

1 file edit view scrollback bookmarks
2 file edit view scrollback bookmarks
3 file edit view scrollback bookmarks
4 file edit view scrollback bookmarks

复制、粘贴、删除块区域实例:

将光标向下移动两格,再向右移动到view的末尾,会选一个矩形区域。使用键盘上的小写"d",可以删除这个选择区域中的字符;使用小写的"y"可以复制选中的内容,然后可以使用"p"将刚才复制的矩形区域粘贴到光标所在位置;

1 file edit view scrollback bookmarks
2 file edit view scrollback bookmarks
3 file edit view scrollback bookmarks
4 file edit view scrollback bookmarks

块区域转换大小写实例:

选中一个块区域,然后可以使用键盘上的"Shift+~(1前面那个键)"来将选择的区域中的字符大小写转换;

1 FILE EDIT VIEW scrollback bookmarks
2 FILE EDIT VIEW scrollback bookmarks
3 FILE EDIT VIEW scrollback bookmarks
4 file edit view scrollback bookmarks

增加缩进和减少缩进实例:

将光标移动到你要增加缩进的开头一行,比如3,然后按"Ctrl+v",将光标向下移动到4的位置,之后按"Shift+>"就能增加缩进;使用相同的方法选中需要减少缩进的行,按"Shift+<"来减少缩进;

1 FILE EDIT VIEW scrollback bookmarks
2 FILE EDIT VIEW scrollback bookmarks
3 FILE EDIT VIEW scrollback bookmarks
4 file edit view scrollback bookmarks

将选中区域使用rot13算法加密实例:

选中一个矩形区域,按键盘上的小写"g"再输入一个"?",选中的区域将被使用rot13加密;解密的方法就是再对这个区域执行一次加密;

1 svyr rqvg ivrj scrollback bookmarks
2 svyr rqvg ivrj scrollback bookmarks
3 svyr rqvg ivrj scrollback bookmarks
4 file edit view scrollback bookmarks

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

推荐阅读更多精彩内容