Linux-vim三种模式

vi介绍

vi编辑器是所有Unix 及 Linux 系统下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器,由于在Unix 及 Linux 系统的任何版本,vi编辑器是完全相同的,因此可以在其它任何介绍vi的地方都能进一步了解它,vi也是Linux中最基本的文字编辑器,学会它后,我们将在Linux的世界里畅行无阻,尤其是在终端中。
关于vim:
vi和vim都是Linux中的编辑器,不同的是,vim比较高级,可以视为vi的升级版本。vi适用于文本编辑,但是vim更适用于coding。
vim的重点是光标的移动,模式切换,删除,查找,替换,复制,粘贴,撤销命令的使用。

vim三种模式

vim存在三种模式(大众的认知):命令模式、编辑模式(输入模式)、末行模式(尾行模式)
命令模式:在该模式下不能对文件直接编辑,可以输入快捷键进行一些操作(删除行、复制行、移动光标、粘贴等)【vim打开文件后默认进入该模式】
编辑模式:在该模式下可以对文件的内容进行编辑
末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等)
Vim打开文件的方式(4种,要求掌握前三种):
#vim 文件路径 —— 打开指定文件
#vim +数字 文件路径 —— 打开指定文件,并且把光标移动到指定行
#vim +/关键词 文件路径 —— 打开指定文件,并且高亮显示关键词
#vim 文件路径1 文件路径2 ... —— 同时打开多个文件

一、命令模式
  • 光标移动
    1、光标移动到行首 —— shift+6^,不能按小键盘的6键
    2、光标移动到行尾 —— shift+4$
    3、光标移动到首行 —— gg
    4、光标移动到末行 —— Gshift+g
    5、向上翻屏 —— PgUpctrl+b
    6、向下翻屏 —— PgDnctrl+f
    7、光标快速移动到指定行 —— 数字 G
    8、光标向上/下/左/右移动n个位置 —— 数字 ↑/↓/←/→
    9、末行模式下的快速移动光标方式 —— shift+:,然后输入数字,再按回车键
  • 复制/粘贴
    1、复制光标所在行 —— yy
    2、粘贴 —— p
    3、以光标所在行为准(包含当前行),向下复制指定的行数 —— 数字 yy
    4、可视化复制 —— ctrl+v,然后按下方向键来选中需要复制的区块,按下yy键进行复制,最后按下p键粘贴
  • 剪切/删除
    1、剪切/删除光标所在行(删除之后下一行上移) —— dd
    2、以光标所在行为准(包含当前行),向下剪切/删除指定的行数 —— 数字 dd
    3、剪切/删除光标所在行(删除之后下一行不上移) —— D
  • 撤销/恢复
    1、撤销 —— u (undo)
    2、恢复 —— ctrl+r
二、模式切换
三、末行模式
  • 保存操作(write)
    :w —— 保存文件
    :w 路径 —— 另存为
  • 退出(quit)
    输入:q —— 退出文件
  • 保存并退出
    :wq
  • 强制(!)
    :q! —— 表示强制退出,刚才做的修改操作不保存
  • 调用外部命令
    :!外部命令 —— 比如 :!ls -la /
  • 搜索/查找
    /关键词
    在搜索结果中切换上/下一个结果:N(上一个)、n(下一个)
    如果需要取消高亮,需要输入:nohl
  • 替换
    :s/搜索的关键词/新的内容 —— 替换光标所在行第一个符合条件的内容
    :s/搜索的关键词/新的内容/g —— 替换光标所在行全部符合条件的内容
    :%s/搜索的关键词/新的内容 —— 替换整个文档每行第一个符合条件的内容
    :%s/搜索的关键词/新的内容/g —— 替换整个文档全部符合条件的内容

%表示文档,/g表示全局(global)

  • 显示行号
    :set nu —— 显示行号,set nonu —— 隐藏行号
    这种显示行号的方式是临时的,要想设置永久生效,可以通过vim配置文件设置
  • 使用vim同时打开多个文件,在末行模式下进行切换文件相关命令

:files —— 查看当前已经打开的文件

#号位置有2种显示可能:
%a:a=active,表示当前打开的文件
#:表示上一个打开的文件

切换文件方式:
a. 切换到指定文件::open 文件名
b. 切换上一个/下一个文件::bp(back prev:上一个)、:bn(back next:下一个)

四、编辑模式

重点记住前2种方式,ia

五、实用功能
  • 代码着色

    控制着色的显示与否::syntax off:隐藏着色,:syntax on:显示着色
  • 计算器的使用
    当在编辑文件的时候需要使用计算器去计算一些公式,可以借助vim自身集成的简易计算器。
    步骤:
    a. 进入编辑模式
    b. 按下ctrl+R,然后输入 =,此时光标会变到最后一行
    c. 输入需要计算的内容,再次按下 =,计算结果就会显示在之前光标所在位置
六、扩展
  • vim的配置
    vim是一款编辑器,也是有配置文件的。
    vim配置的三种情况:
    a. 在文件打开的时候在末行模式下输入的配置(临时的)
    b. 个人配置文件(~/.vimrc,如果没有可以自行新建)
    c. 全局配置文件(vim自带,/ect/vimrc)
    优先级:临时 > 个人配置 > 全局配置
  • 异常退出
    在编辑文件后没有去正常保存退出,而是遇到突然断电或直接关闭终端,则会显示下面的效果,这种情况称之为异常退出:

    解决办法:将交换文件(在编程过程种产生的临时文件)删除掉即可,rm -f .文件名.swp
  • 别名机制
    相当于创建一些属于自己的自定义命令,别名机制依靠一个别名映射文件(~/.bashrc
    案例:自定义cls命令,实现和clear一样的效果
    a. 输入#vim ~/.bashrc
    b. 输入配置信息

    注意:自定义命令生效,需要重启终端或重新登录当前用户
  • 退出方式
    回顾:之前vim中退出编辑的文件使用 :q:wq
    除了上面的两个语法外,vim还支持另外一种保存退出方式::x(推荐)。

说明:
:x 在文件没有修改情况下表示直接退出,在文件修改情况下表示保存并退出。
②如果文件没有被修改,但是使用 :wq 进行退出的话,则文件的修改时间会被更新,但 :x 不会。
不要使用大写的X,X表示对文件进行加密操作。

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