Vim使用指南


介绍:

Vim一共分为3种模式:视图模式、编辑模式、命令行模式

  • 视图模式(command mode):

    使用Vim打开一个文件时,初始就是试图模式。如果在其他模式想切换视图模式,可以使用【ESC】键来进入视图模式。在视图模式下你可以通过按键和组合按键实现光标移动,文本删除、复制与粘贴等动作。

  • 编辑模式(insert mode):

    在视图模式下,通过按下【i、I、o、O、a、A、r、R】进入编辑模式。

  • 命令行模式(command-line mode):

    在视图模式下,输入【: / ?】任意一个按键,就可以进入该模式。除了提供读取、保存、显示行号,还可以查找数据和批量替换字符。

视图模式可以在其他模式任意切换,而其他模式只能通过视图模式切换。


按键说明:

1. 视图模式:

按键: 功能:移动光标
h或向左箭头键(←) 光标向移动一个字符
j或向下箭头键(↓) 光标向移动一个字符
k或向上箭头健(↑) 光标向移动一个字符
l或向右箭头键(→) 光标向移动一个字符
[ctrl] + [f] 翻页,相当于[Page Down]键(常用
[ctrl] + [b] 翻页,相当于[Page Up]键(常用
[ctrl] + [d] 翻半页
[ctrl] + [u] 翻半页
+ 光标移动到非空格符下一行
- 光标移动到非空格符上一行
n[space] n表示【数字】,例如30[space],按下数字30后再按空格,光标会向右移动30个字符
0或[home] 移动到本行最前面的字符(常用
$或[End] 移动到本行最后面的字符(常用
H 光标移动到屏幕最上方那一行的第一个字符
M 光标移动到屏幕中央那遗憾的第一个字符
L 光标移动到屏幕最下方那一行的第一个字符
G 移动到最后一行(常用
nG n为数字,表示移动到这个文件的第n行
gg 移动到第一行,相当于1G(常用
n[Enter] n为数字,表示向下移动n行(常用
按键: 功能:查找与替换
/word 向后查找名称为 word 的字符串
?word 向前查找名称为word的字符串
n 前面两个操作后紧接着按n键,就可以重复之前的操作
N 与N相反,反向重复之前的操作
:n1,n2s/word1/word2/g 在第n1行和第n2行之间寻找word1这个字符串,并替换成word2(常用
:n1,n2s/word1/word2/gc 与上一个类似,只不过多了确认(confirm)是否替换操作(常用
按键: 功能:删除、复制与替换
x与X x为向后删除一个字符(相当于[del]键),X为向前删除一个字符(相当与[Backspace]健)(**常用)
nx n为数字,连续向后删除n个字符
dd 删除(剪切)光标所在行(常用
ndd n为数字,删除(剪切)光标所在行的向下n行,例如20dd则是删除20行(常用
dnG 删除(剪切)光标所在到第n行的数据,dG则表示删除到最后一行
d0 删除(剪切)光标所在处,到该行第一个字符
d$ 删除(剪切)光标所在处,到该行最后一个字符
yy 复制光标所在行(常用
nyy n为数字,复制光标所在行的向下n行,例如20yy则是复制20行(常用
ynG 复制光标所在行到第n行的数据,yG则表示复制到最后一行
y0 复制光标所在处,到该行第一个字符
y$ 复制光标所在处,到该行最后一个字符
p与P p为将已复制的数据在光标下一行粘贴,P为将已复制的数据在光标上一行粘贴(常用
J 将光标所在与下一行的数据结合成一行
c 重复删除多个数据,例如向下删除10行,[10cj]
u 恢复前一个操作(相当于恢复)(常用
[ctrl] + r 重做上一个操作(相当于重做)(常用
. 重复以上操作(常用

2. 视图模式切换到编辑模式:

按键: 操作:进入编辑模式(插入、覆盖)
i与I i为在光标处进入插入模式(insert);I为在光标所在行的第一个非空字符处进入插入模式(常用
a与A a为在光标处下一个字符进入插入模式;A为在光标所在行的最后一个非空字符处进入插入模式(常用
o与O o为在光标所在的下一行处插入新的一行;O为光标所在行的上一行插入新的一行(常用
r与R 进入替换模式,r只会替换光标所在的那一个字符一次;R会一直替换关闭所在的字符,直到按下[ESC](常用
[Esc] 退出编辑模式,进入视图模式(常用

3. 视图模式切换到命令行模式:

按键: 功能:保存、退出等操作
:w 将编辑的数据写入到硬盘文件中(常用
:w! 若文件属性为【只读】时,强制写入该文件。不过,到底能不能写入,还是跟你对该文件的文件权限有关
:q 退出vim(常用
:q! 强制退出不保存
:wq 保存后退出,:wq!则强制保存后退出(常用
ZZ 文件没修过,则不保存退出,若修改则保存后在退出
:w [filename] 将编辑的数据保存成另外一个文件(类似另存为)
:r [filename] 将编辑的数据中,读入另外一个文件的数据,亦即将【filename】这个文件内容加到光标所在行后面
:n1,n2 w [filename] 将n1到n2 的内容保存为【filename】的文件
:! command 暂时退出vim到命令行模式下执行command的显示结果。例如【:! ls /home】即可在vim当中查看/home下面以ls输出的文件信息
:set nu 显示行号
:set nonu 取消行号



参考:

《鸟哥的Linux私房菜基础学习篇第四版》

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,171评论 0 10
  • 一.vi的基本概念文本编辑器有很多,图形模式下有gedit、kwrite等编辑器,文本模式下的编辑器有vi、vim...
    一线码农阅读 4,050评论 0 0
  • 前言 使用vim编辑器理由在于 unix like系统 必备的内嵌文本编辑器也可以说是程序开发工具, win命令行...
    孙小二wuk阅读 3,641评论 0 0
  • Vi 编辑器由 Bill Joy 在 1976 年编码实现。Vim ( Vi Improved ) 编辑器由 Br...
    饥人谷_Mily阅读 3,468评论 0 3
  • vim 三种模式示意图 1.命令行模式 用户刚刚启动 vi/vim,便进入了命令模式。或者在任何时候,不管用户处于...
    __robin阅读 3,828评论 0 3