编辑器之神——vim

一、      vim的三种模式

1.命令模式(打开文件后默认模式)

不能直接对文件编辑,可以输入快捷键进行一些操作

2.编辑模式

对文件的内容进行编辑

3.末行模式(尾行模式)

可以在末行输入命令对文件进行操作

二、      vim打开文件的四种方式

1.#vim  文件路径                                               打开指定的文件

2.#vim  +数字   文件路径                                   打开指定的文件,并且光标移动到指定行

3. #vim  +/关键词   文件路径                             打开指定的文件,并且高亮显示关键词

4. #vim   文件路径1   文件路径2   文件路径3       同时打开多个文件

退出方式:shift + :输入q  按下enter

三、      模式间的切换

四、      命令模式(打开文件后默认模式)

1.光标移动

光标移动到行首     shift + 6(不是小键盘上的数字)

光标移动到行尾     shift + 4(不是小键盘上的数字)

光标移动到首行     gg

光标移动到末行     G

向上翻屏           Ctrl + b 或者 Pgup

向下翻屏           Ctrl + f 或者 Pgdn

2.复制粘贴

粘贴:在想要的地方按下“p”(小写)

复制光标所在行                                     yy

以光标行为准(包含当前行),向下复制指定行数        数字yy

可视化的选择                                       Ctrl + v,移动光标

3.剪切删除

剪切删除光标所在行                                      dd

以光标行为准(包含当前行),向下删除指定行数,下行上移    数字dd

以光标行为准(包含当前行),向下删除指定行数,下行不移     D

4.撤销恢复

撤销:输入:u(undo)

恢复:ctrl + r

5.扩展内容

(1)快速将光标移动到指定行                      数字 G

(2)以当前光标为准向上/下移动n行               数字 ↑/↓

(3)以当前光标为准向左/右移动n字符             数字 ←/→

(4)末行模式下的快速移动方式:移动到指定行      :(英文:)数字 回车

五、      末行模式

进入方式:在命令模式下,按下“:”(英文)

退出方式:按1下esc或按2下esc或删除末行全部字符

1.保存操作

输入:“:w”               保存文件

输入:“:w  路径”         另存为

2.退出操作

输入:“:q”                  退出文件

3.保存并退出

输入:“:wq”                 保存并退出

4.强制退出(!)

输入:“:q!”                  强制退出,不做保存

5.调用外部命令

输入:“:!外部命令”

6.搜索查找

输入:“/关键词”

在搜索的结果中切换上/下一个结果:N/n(next)

取消高亮,则需要输入:“:nohl”

7.替换(%表示整个文档   g表示全局)

“:s/搜索的关键词/替换的关键词”      替换光标所在行的第一处符合条件的内容

“s/搜索的关键词/替换的关键词/g”      替换光标所在行的全部符合条件的内容

“%s/搜索的关键词/替换的关键词”      替换整个文档中每行第一个符合条件的内容

“%s/搜索的关键词/替换的关键词/g”    替换整个文档中符合条件的内容

8.显示行号

输入:“:set nu”     关闭:“:set nonu”

9.扩展内容:使用vim同时打开多个文件,在末行模式进行切换文件

查看当前已经打开的文件名称:“:files”

切换指定文件的方式:“:open 已经打开的文件名”

切换上/下一个文件的方式:”:bp“/:bn”

六、      编辑模式(最简单的模式)

在命令模式下,按i,a,o,I,A,O,S进入编辑模式,退出按1下esc。

i:在光标所在字符前开始插入

a:在光标所在字符后开始插入

o:在光标所在行的下面另起一新行插入

I:在光标所在行的行首开始插入,如有空格则在空格之后插入

A:在光标所在行的行尾开始插入

O:在光标所在行的上面另起一新行插入

S:删除光标所在行并插入

七、      实用功能

1.代码着色(默认着色)

关闭显示:syntax off

打开显示:syntax on

2.计算器的使用

进入编辑模式——按下“ctrl+R”,输入“=”——输入需要计算的内容——回车

3.Vim的三种配置

(1)    在文件打开时在末行模式下输入的配置(临时的)

(2)    个人配置文件(~/.vimrc,没有新建)

touch .vimrc—vim .vimrc—a—set nu(显示行号)—esc—:wq—vim .vimrc

(3)    全局配置文件(/etc/vimrc,自带)

针对同一个配置项,个人配置文件中存在,则以个人配置文件为准,个人配置文件中不存在,则以全局文件为准。

4.异常退出

解决办法:将交换文件(编程过程中产生的临时文件)删除即可

查看临时文件:ls -a

删除临时文件:rm -f .passwd.swp

5.别名机制

作用:创建一些属于自己的自定义命令

别名机制依靠一个别名映射文件:~/.bashrc

vim ~/.bashrc—a—alias 自建=‘原有’(注意创建的位置)—esc—:wq(关闭终端,新开终端生效)

6.退出方式

在vim中退出编辑的文件可以使用“:q”(退出)或“:wq”(保存退出)或“:q!”(强制退出)还可以用“:x”(小写,保存退出,常用)

“:X”(大写,用于文件加密操作)

自学linux——3.编辑器vim的使用的更多相关文章

  1. Linux系列教程(十)——Linux文本编辑器vim

    通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...

  2. Linux文本编辑器vim

    目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...

  3. linux文本编辑器vim大全

    linux基础之vim编辑器 1.vim编辑器 基本介绍 vim编辑器的前身叫做vi.vi的英文名:Visual  Interface.中文解释文本编辑器,你不应该用他去打开二进制可执行文件 文本编辑 ...

  4. Linux 文本编辑器 vim

    第五讲 文本编辑器 vim

  5. 10.18.1 linux文本编辑器vim

    vi和vim的区别 编辑一个文本时,vi不会显示颜色,而vim会显示颜色,vi 有点类似windows记事本,简单,那么就是vim复杂编辑器,功能复杂,高亮,自动缩进(写shell/python脚本用 ...

  6. Linux | 文本编辑器vim

    vim 编辑器介绍 vim 编辑器是一款非常棒的文本处理工具,它会默认安装在当前所有的 Linux 操作系统上面. vim 编辑器中设置了三种模式,可以极大的提高我们的工作效率: 命令模式:控制光标移 ...

  7. linux 文本编辑器 vim 基本操作

    三种模式之间转换: 一般模式 可用于光标移动.复制粘贴.查找替换 "vim.txt"表示文件名 8L 表示8行 , 80C 表示80个字符 移动光标常用操作: h .j. k. l ...

  8. linux文本编辑器-VIM基本使用方法

    vim [OPTION]... FILE... +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首vim + file 直接打开file,光标在最后一行 三种主要模式 ...

  9. Linux文本编辑器Vim使用

    1. 插入 o 在光标下插入新行 a 在光标后插入 i         在光标前插入 O 在光标上一行插入新行 A 在光标行尾插入 I 在光标行首插入 2.光标定位 gg 到第一行行首 G 到最后一行 ...

随机推荐

  1. mysql 事务,锁,隔离机制

    mysql架构 锁 为了解并发问题,引入锁,mysql中锁分为读锁和写锁,即share lock和exclusive lock.故名思义,share lock之间不互斥,share lock和excl ...

  2. IPVS的ICMP报文处理-由内到外

    这里主要明与NAT/Masq转发模式相关的ICMP报文处理,但也会提及由于出错引发的IPVS系统主动发送的ICMP报文. 1.ICMP由外到内处理流程入口 入口函数ip_vs_in实质上挂载在netf ...

  3. POJ 2947 2947 Widget Factory 高斯消元

    给出组件的数量n,给出记录的数量m(n就是变元数量,m是方程数量).每一个记录代表一个方程,求每个组件的生产天数. 高斯消元即可 #include <cstdio> #include &l ...

  4. 小程序开发 access_token 统一管理

    TOKEN 定时刷新器 一.背景 对于使用过公众平台的API功能的开发者来说,access_token绝对不会陌生,它就像一个打开家门的钥匙,只要拿着它,就能使用公众平台绝大部分的API功能.因此,对 ...

  5. WebService:CXF的JaxWsDynamicClientFactory实现调用WebService接口

    首先需要引入依赖jar包 #版本只供参考,具体看项目 <dependency> <grouId>org.apache.cxf</grouId> <artifa ...

  6. Mybatis学习(1)开发环境搭建

    什么是mybatis MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis使用简单的XML ...

  7. linux学习之路第七天(压缩和解压类指令详解)

    压缩和解压类 1.gzip/gunzip 指令 gzip 指令用于压缩文件, gunzip用于解压的 基本语法 gzip 文件 (功能描述:压缩文件,指令将文件压缩成*.gz文件) gunzip 文件 ...

  8. buu crypto 幂数加密

    一.这和二进制幂数加密有些不同,可以从数字大小判断出来,超过4了,一般4以上已经可以表达出31以内了,所以是云影密码,以0为分隔符,01248组成的密码 二.python代码解密下 code=&quo ...

  9. 使用xcodeproj 动态插入第三方代码

    # 为什么这么做? 现在有这么一个使用场景,基线能生成项目A,项目B,项目C...如果只有项目A中使用SDK_A,其他项目都不使用,这时候就需要对基线进行差分,只有当我切换到项目A时,才插入SDK_A ...

  10. 「AGC020F」 Arcs on a Circle

    「AGC020F」 Arcs on a Circle Link 这个题非常 Amazing 啊.果然AtCoder全是智商题 首先你可以注意到数据范围真的是小得离谱,让你想要爆搜. 然后你发现不可做, ...