Linux 私房菜:vi 与 vim 编辑器

本文内容精简、整理、摘抄、有感于《鸟哥的Linux私房菜 - 基础篇第四版》第九章 • vim程序编辑器。

vi/vim模式

  • 一般指令模式 ( command mode )

    • vi/vim File,打开文件后即进入当前模式
  • 编辑模式 ( edit mode )

    • 一般指令模式下,按i,I,a,A,o,O,r,R任意键进入
  • 指令列命令模式 ( command-line mode )

    • 一般指令模式下,按:,/,?任意键进入

快捷键

一般指令模式下,对应的常用操作键:

光标移动 说明
k 向上移动
j 向下移动
h 向左移动
l 向右移动
ctrl + fpage up 向下翻页
ctrk + bpage down 向上翻页
ctrk + d 向下翻半页
ctrk + u 向上翻半页
n + 空格键 右移n个字符
0home 移动到当前列最前面
$end 移动到当前列最后面
H 屏幕第一行最前面
M 屏幕中间行最前面
L 屏幕最后一行最前面
G 跳到文件最后一列
n + G 跳到文件第n列
gg 跳到文件第一列,相当于1G
n + enter键 往下移动n列
搜索、替换 说明
/word 向下搜索
?word 向上搜索
n 搜索匹配的下一处
N 搜索匹配的上一处
?word 向上搜索
:n1,n2s/word1/word2/g 将n1到n2行的所有word1替换成word2
:1,$s/word1/word2/g[c] 全局搜索,将所有word1替换成word2,最后那个可选的c用于在全局替换前进行确认
删除、复制及替换 说明
xdel 向后删除一个字符
Xbackspace 向前删除一个字符
n + x 向后删除n个字符
dd 整行删除
ndd 向下n行删除
dnG 向上删除到第n行
dG 向下删除全部
d$ 删除光标处到最后面
d0 删除光标处到最前面
yy 复制整行
nyy 向下复制n行
ynG 向上复制到第n行
yG 向下复制全部
y$ 复制光标处到最后面
y0 复制光标处到最前面
p 复制内容从下一行开始粘贴
P 复制内容从上一行开始粘贴
J 当前行与下一行合并成一行
u 还原前一个操作
ctrl + r 重做前一个操作
. 重复做上一个操作

从一般指令模式进入编辑模式,对应的常用操作键:

操作 说明
i 光标所在处前开始插入
I 所在列最前面开始插入
a 光标所在处后开始插入
A 所在列最后面开始插入
o 光标所在处上一行开始插入
O 光标所在处下一行开始插入
r 替换模式,只取代光标处字符一次
R 替换模式,一直取代光标处字符直到按ESC退出
ESC 退出编辑模式,回到一般指令模式

从一般指令模式进入指令列模式下对应的常用操作键:

操作 说明
:w 保存,但不退出
:w! 强制保存(跟用户的操作权限有关)
:q 退出vi/vim(没有操作的情况下可成功退出)
:q! 强制退出vi/vim,也不保存修改
:wq 保存修改并退出vi/vim
ZZ 保存修改后退出vi/vim
:w [file] 另存为file
:n1,n2 w [file] 将n1到n2列另存为file
:r [file] 将file的内容追加到光标下一列
:! [command] 暂离vi/vim编辑执行后面的command,按Enter后返回
:set nu:set number 显示行号
:set nonu:set nonumber 取消显示行号

区块选择

操作 说明
v 字符选择,将光标移动过的位置全部选择
V 列选择,将光标移动过的位置全部选择
ctrl + v 区块选择,将光标移动过的位置全部选择
y 复制上述所选
d 删除上述所选
p 粘贴上述所选

多文件编辑

vim还支持同时打开多个文件,用于跨文件操作:vim file1 file2 file*

操作 说明
n 编辑下一个文件
N 编辑上一个文件
files 列出当前vim编辑的所有文件

多窗口功能

操作 说明
sp [filename] 开启多窗口,如果不输入默认为当前文件
ctrl + w + jctrl + w + ↓ 将光标移动到下一个窗口
ctrl + w + kctrl + w + ↑ 将光标移动到上一个窗口
ctrl + w + q:q 退出当前窗口

其它功能

  • 代码提示补全

  • 环境设定。set all命令用于查看所有的设定值,vim的设定文件在一般放置在/etc/vim/vimrc,自定义下建议新建保存在~/.vimrc

  • vim常用指令示意图

vim常用指令示意图

重点回顾

重点回顾

欢迎关注我的个人公众号:超级码里奥
如果这对您有帮助,欢迎点赞和分享,转载请注明出处

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

推荐阅读更多精彩内容