初识 vi/vim 文本编辑器

1.vi 和 vim 相同,都是文本编辑器,在 vi 模式下可以查看文本,编辑文本,是 Linux 最常用的命令,vi 模式下分为三部分,第一部分一般模式,在一般模式中可以进行搜索字符等按键操作,按下 i,o,a任意一个字符就可以进入编辑模式,按 ESC 回到一般模式,编辑模式下可以对文本内容进行编辑,按下 : ,/ ,?可以进入命令行模式,可以选择按 wq 保存退出等命令操作,详细内容如下。

vi 按键表

1.一般模式

   光标的移动

按  键

意  义

h 或 ←

光标向左移动一个字符,可跟数字组合,如10 ←或h 代表向左移动10个字符

j 或 ↓

光标向下移动一个字符,可跟数字组合

k 或 ↑

光标向上移动一个字符,可跟数字组合

i 或 →

光标向右移动一个字符,可跟数字组合

[page up] 或

[ctrl]+b

上一页

[page down] 或 [ctrl]+f

下一页

[ctrl]+d

向下移动半页

[ctrl]+u

向上移动半页

+

光标移动到非空格的下一行

-

光标移动到非空格的上一行

n+[space]

输入数字后按下空格代表向右移动 n 个字符

0 或 [Home]

光标移动到行首

$ 或 [End]

光标移动到行尾

H

光标移动到屏幕显示的第一行的第一个字符处

M

光标移动到屏幕显示的中间行的第一个字符处

L

光标移动到屏幕显示的最后一行的第一个字符处

G

移动到文本的最后一行

n+G

移到文本的第n行

gg

移动到文本的第一行

n+[Enter]

光标向下移动n 行

   搜索操作

按  键

意  义

/字符串

向下搜索字符串

?字符串

向上搜索字符串

n

向下查找符合搜索的字符

N

反向查找符合搜索的字符

:n1,n2s/string1/string2/g

在n1和n2之间搜索string1字符串,并将 string1替换为 string 2

:1,$s/string1/string2/g

在第一行和最后一行搜索 string1字符串,并将 string1替换为 string 2

:1,$s/string1/string2/gc

在第一行和最后一行搜索 string1字符串,并将 string1替换为 string 2,替换前需要客户确认( replace with string2 (y/n/a/q/l/^E/^Y)?)

  

  删除/复制/粘贴等操作

按  键

意  义

x 或 X

x代表向后删除一个字符[del],X代表向前删除一个字符[backspace]

nx

向后连续删除n个字符

dd

删除光标所在的一行

ndd

删除光标向下的n行(包括光标所在的一行)

d1G

删除光标所在的一行到第一行的内容

dG

删除光标所在的一行到最后一行的内容

d$

删除光标所在的字符到这一行的最后一个字符的内容

d0

删除这一行的第一个字符到光标所在字符的内容

yy

复制光标所在的一行

nyy

复制光标所在的一行到第n行的内容

y1G

复制光标所在的一行到第一行的内容

yG

复制光标所在的一行到最后一行的内容

y0

复制光标所在的字符到行首的字符

y$

复制光标所在的字符到行尾的字符

p

将光标在的那一行内容复制粘贴到下一行

P

将光标在的那一行内容复制粘贴到上一行

u

复原操作,相当于撤回

.

重复上一个操作

c

重复删除多个数据,例如向下删除3行[10cj]

[ctrl]+r

重做上一个动作

J

将光标所在的一行与下一行结合

2.编辑模式

按  键

意  义

i

进入编辑模式

a

进入编辑模式

o

进入编辑模式

r

进入编辑模式

[ESB]

退出编辑模式,进入一般模式

3.命令行模式

按  键

意  义

:w

将编辑的数据写入磁盘

:w!

强行写入

:q

离开

:q!

不保存强制离开

:wq

保存并退出

ZZ

如果有改动则保存退出,如果没有改动就直接退出

:w[filename]

将编辑的内容另存为 filename 文件

:r[filename]

将filename的内容加载进光标后

:n1,n2 w[filwname]

将n1到n2的内容保存为 filename

:!command

暂时回到命令模式,执行 command 命令

:set nu

设置行号

:set nonu

取消行号

Linux-- 文件编辑器 vi/vim(2)内容见:

https://www.cnblogs.com/holmes-cat/p/10408735.html

Linux-- 文件编辑器 vi/vim(1)的更多相关文章

  1. Linux文本编辑器-vi/vim

    vi是Linux命令行界面下的文字编辑器,vim是vi的增强版(Vi IMproved),完全兼容 可以理解成普通的txt文本与word文档之间的差距. 注:还有一款全屏编辑器是nano,可以了解下 ...

  2. Linux命令之vi/vim(一)

    vi仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但不具备windows下word的排版功能.Vim是Vi improved的缩写,是vi的改进版. vi和vim的区别: 多级撤销.在vi中按u ...

  3. Linux文件编辑工具——VIM

    Linux文件编辑工具--VIM 1.VIM基本概述 1.1 什么是vim vi 和 vim 是 Linux 下的一个文本编辑工具.(可以理解为 windows 的记事本,或 Notepad++ 1. ...

  4. 文本编辑器 vi/vim 的使用

    文本编辑器 vi/vim 一.启动与退出 1. vim 2. vim 文件名(可以是存在的文件,也可以是不在的文件) 3.退出 :q   或者:x 在非“插入”模式二.vi/vim的工作模式 1.正常 ...

  5. Linux-- 文件编辑器 vi/vim(2)

    多文件编辑 vi 可以用来打开多个文件,如下: 进入编辑界面以后,输入 :n 可以切换到下一个文本,:N 可以切换到上一个文本,:files 列出目前这个 vi 打开的所有文件,举例如下: 切换到下一 ...

  6. Linux环境下vi/vim编辑器常用命令

    使用vi文本编辑器 配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式.那么如何使用Linux字符操作界 ...

  7. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第六集之补充:文本编辑器vi/vim】

    一:vi/vim的基本使用流程,掌握这三个步骤就算是入门vi或者vim.接下来的学习都是对vim命令和使用技巧的掌握,这要求各位自己去记忆.因为很少使用到某些命令,自然我们经常忘记这些命令,所以一旦忘 ...

  8. 【Linux学习】Vi / Vim编辑器—编辑器工作模式、vi编辑操作

    Vi / Vim编辑器-编辑器工作模式.vi编辑操作 推荐一个很好的学习指南:http://www.oschina.net/translate/learn-vim-progressively 一.编辑 ...

  9. 文件编辑器 vi

    1.关于文本编辑器: 文本编辑器有很多,比如图形模式的gedit.kwrite.OpenOffice ... ... ,文本模式下的编辑器有vi.vim(vi的增强版本)和nano ... ... v ...

随机推荐

  1. 最齐全的vue公共函数给你们放出来啦

    import Vue from 'vue' /* 配置参数 */Vue.prototype.winH = document.documentElement.clientHeight; Vue.prot ...

  2. 《Linux命令行与Shell脚本编程大全第2版》读书笔记

    公司说不准用云笔记了,吓得我赶紧把笔记贴到博客上先..... 近3年前的了,只有一半的章节,后面的没空记录了.... 第1章 可以cat /proc/meminfo文件来观察Linux系统上虚拟内存的 ...

  3. 关于 Blog 修改

    关于 Blog 修改 本 Blog 使用的是 WordPress,每次升级 WordPress 都需要修改文件,以修正一些问题,因此做个总记录,便于自己修改. 解决 WordPress 无法打开中文链 ...

  4. 专访探探DBA张文升:PG在互联网应用中同样也跑的很欢畅

    张文升认为,PG无论在可靠性和性能方面都不输其它任何关系型数据库   张文升,探探DBA,负责探探的数据库架构.运维和调优的工作.拥有8年开发经验,曾任去哪儿网DBA.   9月24日,张文升将参加在 ...

  5. 控制HTML页面内容不能选中的方法

    方法有二 一: css 方法 user-seletct: none;-webkit-user-seletct: none;-moz-user-seletct: none;-ms-user-seletc ...

  6. 关于 <mvc:argument-resolvers> 的一次使用记录

      使用场景: 项目里面在做一个请求时候发现,不同的请求,有些请求会跳转到 spring mvc的自定义方法中,有些却不进去.自定义的方法: <mvc:annotation-driven > ...

  7. CSS盒子模型中()是透明的,这部分可以显示背景()

    CSS盒子模型中()是透明的,这部分可以显示背景() border margin padding content 我的理解: ·       Margin(外边距) - 清除边框外的区域,外边距是透明 ...

  8. 提示"libc.so.6: version `GLIBC_2.14' not found"

    启动php 提示"libc.so.6: version `GLIBC_2.14' not found",原因可能是glibc版本太低,php使用了较高的glibc版本引起的 1,首 ...

  9. 《IT老外在中国》第11期:首次访华的编程巨匠、C#之父Anders

    见到Anders的时候,他正专注的倾听国内开发者的提问,一副远视眼镜斜歪着架在头顶,宽松的深蓝色休闲毛衫随意套在白色圆领T恤外. 如果不是他那专注的神情,以及现场见证开发者对他的狂热崇拜,很难想象这位 ...

  10. mysql DML语句学习1

    DML 操作是指对数据库中表记录的操作,主要包括表记录插入(insert).更新(update).删除(delete)和查询(select) 1. 插入记录 表创建好后,就可以往里插入记录,基本语句如 ...