Vim文本编辑器的使用

  • Vim的工作模式

    1.命令模式

    2.输入模式

    3.编辑模式
  • 进入Vim

    1.使用Vim打开文件

    2.直接进入指定位置
  • Vim基本命令

    1.插入命令

    2.光标移动命令

    3.使用Vim进行编辑
  • 保存退出命令

Vim的工作模式

  • 命令模式

  • 输入模式

  • 编辑模式

命令模式

在使用Vim编辑文件时,默认处于命令模式。在命令模式下,可以使用上、下、左、右键或者k、j、h、l命令来移动光标,还可以对文件内容进行复制、粘贴、替换、删除等操作

输入模式

在输入模式下可以对文件进行写操作。进入输入模式的方法是在命令模式输入i、a、o等插入命令,编写完成后按Esc键即可返回命令模式

编辑模式

如果要保存、查找或者替换一些内容等,就需要进入编辑模式。进入编辑模式的方法是在命令模式输入 ":" 符号,指令执行后会自动返回命令模式

进入Vim

使用Vim打开文件

使用命令 vim 文件目录 即可使用Vim打开文件

直接进入指定位置

vim +20 文件目录    直接进入文件第20航

vim +/hello 文件目录    直接进入第一个"hello"字符串所在行

Vim基本命令

插入命令

在命令模式下输入i、I、a、A、o、O等进入输入模式,不同的键只是光标所处的位置不同。

在Vim编辑器的左下角会出现"插入"字样,这就代表我们可以执行写入操作

常用的插入命令:

i    在当前光标所在位置插入随后输入的文本,光标后的文本相应的向右移动

I    在光标所在的行首插入随后输入的文本,行首是改行的第一个非空白字符,相当于光标移动到行首再执行i命令

a    在当前光标所在位置之后插入随后输入的文本

A    在光标所在的行首插入随后输入的文本,相当于光标移动到行尾再执行a命令

o    在光标所在行的下面插入新的一行,光标停在空行行首,等待输入文本

O    在光标所在行的下面插入新的一行,光标停在空行行首,等待输入文本

光标移动命令

以字符为单位移动

上、下、左、右方向键    移动光标

h、j、k、l键    向左、向下、向上、向右移动光标

以单词为单位的移动

w    移动光标到下一个单词的单词首

b    移动光标到上一个单词的单词首

e    移动光标到下一个单词的单词尾

移动到行首或行尾

$或End    移动光标到行尾

0或^或Home    移动光标到行首

移动到一行的指定字符处

f字符    移动光标到第一个符合条件的字符处,使用条件是光标要在指定字符前

移动到匹配的括号处

%    在匹配的括号间切换

移动到指定行数

nG或:n    移动光标到指定的行

使用Vim进行编辑

查找指定字符串

/要查找的字符串    从光标所在行开始向下查找字符串

?要查找的字符串    从光标所在行开始向上查找字符串

:set ic    查找时忽略大小写

:set noic    查找时区分大小写

使用Vim进行替换

r    替换光标所在处的字符

R    从光标所在处开始替换,按Esc结束

:替换起始处,替换结束处s/源字符串/替换的字符串/g    替换范围内的字符串

:%s/源字符串/替换的字符串/g    替换整篇文档的字符串

:1,$s/root/ROOT/g    将整篇文档的root替换为ROOT

使用Vim进行删除、粘贴、复制

x    删除光标所在的字符

nx    从光标所在位置向后删除n个字符

dd    删除整行,如果之后粘贴,则此命令的作用是剪切

ndd    删除多行

dG    删除从光标开始到文件末尾的内容

D    删除从光标开始到这行行尾的内容

:开始行,中止行d    删除指定范围的行

yy或Y    复制单行

nyy或nY    复制多行

p    粘贴到当前光标所在行下

P    粘贴到当前光标所在行上

dd命令删除的内容都临时放到内存里,将光标移动到指定位置,按下p,就能将刚才删除的内容又粘贴到此处

使用Vim撤销上一步操作

u    撤销

保存退出命令

:w    保存不退出

:q    不保存退出

!    强制性操作

:wq    保存并退出

:w!    强制保存

:wq!    强制保存退出

:q!    不保存退出

:w新文件名    另存为其他文件,配合:q!使用

ZZ    如果文件没有修改,就是不保存退出;如果文件已经修改,就是保存退出

Linux学习笔记(九)Vim文本编辑器的使用的更多相关文章

  1. linux学习笔记:vim程序编辑器—vim的使用

    注:以下是学习<鸟哥的linux私房菜>(第三版)的学习笔记,纯属个人学习记录. 2018-11-19 一.学习vim的原因 很多软件的编辑接口都会主动调用vi 二.vim的使用 (1)v ...

  2. Linux学习笔记之VIM编辑器

    此处根据需要,只罗列一些常用的指令和用法 五.VIM程序编辑器 Vi与vim Vi打开文件没有高亮注释,vim有,且vim是vi的高级版本 Vim默认打开文件为命令模式 i               ...

  3. Linux学习笔记之vim操作指令大全

    0x00 关于Vim Vim是款强大的文本编辑器,但是众多指令需要学习,这次记录了指令大全方便以后翻阅. Vim的几种模式 正常模式:可以使用快捷键命令,或按:输入命令行. 插入模式:可以输入文本,在 ...

  4. Linux学习笔记8——VIM编辑器的使用

    在ubuntu中,敲入命令行:sudo apt-get install vim,然后输入系统密码,确认Y,即可下载vim 按下vim,在后面跟上文件的路径,即可进入文件到编辑模式,如果不存在该文件,将 ...

  5. Linux学习笔记之八————vim编辑器常用命令总结

    <1>从命令行模式到插入模式 i  :在光标前插入 a :在光标后插入 I  :在光标所处在的行的行首 A :在光标所处在的行的末尾 o  :在光标所处在的行的下一行 行首 O :在光标所 ...

  6. Linux学习笔记:vim

    目录 模式 命令模式 编辑模式 底行模式 .vimrc .viminfo .swap 本文更新于2019-09-05. 说明:下文中,使用{}引起表示自定义变量,根据实际情况填写.使用[]引起表示内容 ...

  7. Linux 学习记录 三(Vim 文书编辑器).

            所有的Unix Like系统都会内建vi文书编辑器,其他的文书编辑器不一定存在,vim是vi的升级版,具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计.vim 里 ...

  8. Linux 学习记录三(Vim 文书编辑器).

       所有的Unix Like系统都会内建vi文书编辑器,其他的文书编辑器不一定存在,vim是vi的升级版,具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计.vim 里面加入了很 ...

  9. Qt学习笔记-制作一个文本编辑器

    创建一个MainWindow工程.添加一个TextEdit.垂直布局. 在menu上面创建新的action. 在新建的时候判断文本有没有被修改. 下面,将某个文件打开读入到TextEdit中. 保存文 ...

  10. linux学习笔记-8.vim

    ia/Ao/Or + ?替换 0:文件当前行的开头$:文件当前行的末尾G:文件的最后一行开头1 + G到第一行9 + G到第九行 = :9 dd:删除一行3dd:删除3行yy:复制一行3yy:复制3行 ...

随机推荐

  1. 决战Leetcode: easy part(51-96)

    本博客是个人原创的针对leetcode上的problem的解法,所有solution都基本通过了leetcode的官方Judging,个别未通过的例外情况会在相应部分作特别说明. 欢迎互相交流! em ...

  2. 超越Mask-RCNN:谷歌大脑的AI,自己写了个目标检测AI

    这是一只AI生出的小AI. 谷歌大脑的Quoc Le团队,用神经网络架构搜索 (NAS) ,发现了一个目标检测模型.长这样: △ 看不清请把手机横过来 它的准确率和速度都超过了大前辈Mask-RCNN ...

  3. Thread wait notify sleep

    wait: 必须暂定当前正在执行的线程,并释放资源锁,让其他线程可以有机会运行 notify/notifyall: 唤醒因锁池中的线程,使之运行 wait与sleep区别 对于sleep()方法,我们 ...

  4. Java中性能优化的45个细节

    在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身.养成良好的编码习惯非常重要,能够显著地提升程序性能. 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时 ...

  5. JS烟花案例

    html代码部分 <!DOCTYPE html> <!-- * @Descripttion: * @version: * @Author: 小小荧 * @Date: 2020-03- ...

  6. (17/34)AC自动机/后缀数组/后缀自动机(施工中)

    快补题别再摸鱼了(17/34) 1.AC自动机 #define maxnode 1000010 #define maxsize 26 struct ahocT{ int ch[maxnode][max ...

  7. c期末笔记(4)

    未命名易错点 1.0<y<10 在c语言中,0<y<10不是一个正确的表达式,应该利用逻辑运算符替换(y>0&&y<10或者!(y<=0||y ...

  8. 直播 | Apache Kylin & Apache Hudi Meetup

    千呼万唤始出来,Meetup 直播终于来啦- 本次线上 Meetup 由 Apache Kylin 与 Apache Hudi 社区联合举办,将于 3 月 14 日晚进行直播,邀请到来自丁香园.腾讯. ...

  9. KMP算法-从头到尾彻底理解KMP

    一:背景 给定一个主串(以 S 代替)和模式串(以 P 代替),要求找出 P 在 S 中出现的位置,此即串的模式匹配问题. Knuth-Morris-Pratt 算法(简称 KMP)是解决这一问题的常 ...

  10. APScheduler轻量级定时任务框架

    目录 一.APScheduler简介 支持的后端存储作业 集成的Python框架 二.APScheduler下载安装 三.APScheduler组件 各组件简介 调度器 作业存储器 执行器 触发器 四 ...