文本编辑vi使用

最好使用vim,采用sudo apt-get install vim

vi是Linux及类Unix系统中主流的命令行文本编辑器,功能极为强大,vim是增强版本的vim。Vim的高级地方最显著地特点是可以撤销,命令u撤销。vi只能撤销一次。而vim可以撤销多次。vi分为三个模式:命令模式,插入模式,低行模式

1) 命令行模式command mode

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert

mode下,或者到 last line mode。

2) 插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模

式。

3) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。不过一般我们在使用时把vi简化成两个模式,就是将底行模式也算入命令行模式command mode。

vi使用,首先用vi创建文件:vi test ,通过按键i进入插入模式,按键

ESC退出插入模式,按:进入低行模式,wq保存退出。

教几个开启vi的常用方法:

vi +8 test           #直接打开test文件并将光标移到低8行

vi +  test           #直接跳至最后一行

vi +/xxxx  test      #移到xxxx第一次出现的位置,按n跳至下一个出现xxxx

的位置

vi file1 file2      #同时打开两个文件,通过命令切换:n切换下一个,:N

向前切换,但是vi不行,vim可以

命令模式常用命令:

i                    插入

o                    在当前行下插入新行,并切换到输入模式,注意会变成插入模式

yy                   复制一行

#yy                  复制光标所在位置的#行

p                    粘贴

u                    撤销上一个操作

r                    替换当前字符

/                    搜索

:set n              设置行号

移动光标

vi可以直接用键盘上的光标来上下左右移动,但正规vi是用h(左)j(下)k(上)l(右)

G                   移到文章最尾一行

ctrl + f            屏幕往“前”移动一页。

ctrl + b            屏幕往“后”移动一页。

删除文字

x                   删除光标所在位置的“后面”一个字符。

X                   删除光标所在位置的“前面”一个字符

#x                 「6x」表示删除光标所在位置的“后面”6个字符。

#X                 「20X」表示删除光标所在位置的“前面”20个字符

dd                  删除光标所在行

#dd                 从光标所在行开始删除#行

dG                   从光标所指的一行到最后删除

全选复制:

ggVG才是真正的全选复制,注意这是合起来的。

gg              光标到第一行

V                进入virsual模式

G               光标到最后一行,直接全选了

y               复制到0号寄存器

+y            复制到系统剪切板

d              删除全选的内容

退出vi及保存文件

:1,$y            复制从第一行到最后一行

:wq                保存退出

:q                 退出不保存

:q!               强行退出

:x     保存并退出,相当于:wq

:w     保存修改

参考:http://os.chinaunix.net/a2009/0103/995/000000995031.shtml

二、配置vim

vi .vimrc

参考:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html

vim讲解的更多相关文章

  1. vim基础(一)

    今天看了下兄弟连的VIM讲解,又学了几个新命令,记录一下. 插入与删除 插入 首先还是插入,以前只知道i.今天发现原来还有a\A\i\I\o\O,下面具体说一下: 命令 含义 a 在光标后插入 A 在 ...

  2. vim 常用命令(记录)

    很好的vim讲解:https://blog.csdn.net/weixin_37657720/article/details/80645991 命令模式:默认模式.输入ctrl+c, 输入:,转换为命 ...

  3. Linux Vim编辑器使用简单讲解

    在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明:Linux默认自带vi(vim)编辑器,其程序包为:[root@linuxidc.com ~]# rpm -qf `whic ...

  4. [Linux/Ubuntu] vi/vim 使用方法讲解(转载)

    转自:http://www.cnblogs.com/emanlee/archive/2011/11/10/2243930.html vi/vim 基本使用方法 vi编辑器是所有Unix及Linux系统 ...

  5. Linux命令vi/vim 使用方法讲解

    vi/vim 基本使用方法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的 ...

  6. [Linux/Ubuntu] vi/vim 使用方法讲解

    vi/vim 基本使用方法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的 ...

  7. vim 文本替换讲解

    在VIM中进行文本替换: 1. 替换当前行中的内容: :s/from/to/ (s即substitude) :s/from/to/ : 将当前行中的第一个from,替换成to.如果当前行含有多个 fr ...

  8. [转][Linux/Ubuntu] vi/vim 使用方法讲解

    vi/vim 基本使用方法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的 ...

  9. Vim经典讲解

    http://blog.csdn.net/niushuai666/article/details/7275406

随机推荐

  1. MS Translator

    在看白老师的书的时候看到的,现在MS已经开始转向服务,真对不同行业具有不同的服务,有些免费的,还是十分值得我们借用的,毕竟是大公司出来的产品,都会保证SLA的. 不多说了,直接上地址: https:/ ...

  2. 1048: [HAOI2007]分割矩阵 - BZOJ

    Description 将一个a*b的数字矩阵进行如下分割:将原矩阵沿某一条直线分割成两个矩阵,再将生成的两个矩阵继续如此分割(当然也可以只分割其中的一个),这样分割了(n-1)次后,原矩阵被分割成了 ...

  3. js中批量处理样式——cssText的使用

    http://www.cnblogs.com/snandy/archive/2011/03/12/1980444.html

  4. [转载]jQuery 1.9 移除了 $.browser 的替代方法获取浏览器类型

    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support . 在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...

  5. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

  6. 关于用 MySQL 存储 Emoji

    http://www.v2ex.com/t/137724 如果你希望让你的网站或者 App 支持 Emoji,那么在初次设置 MySQL 时,有一些细节你需要知道. Emoji Emoji 字符的特殊 ...

  7. Java中获取完整的访问url

    Java中获得完整的URl字符串: HttpServletRequest httpRequest=(HttpServletRequest)request; String strBackUrl = &q ...

  8. iOS开发--绘图教程

    本文是<Programming iOS5>中Drawing一章的翻译,考虑到主题完整性,翻译版本中加入了一些书中未涉及到的内容.希望本文能够对你有所帮助. 本文由海水的味道翻译整理,转载请 ...

  9. MSSQLServer基础05(联合查询,连接查询)

    联合结果集union(集合运算符) 集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐式转换的),最终输出的集合的列名由第一个集合的列名来确定.(可以用来连接多个 ...

  10. 【HDOJ】4343 Interval query

    最大不相交集合的数量.思路是dp[i][j]表示已经有i个不相交集合下一个不相交集合的最右边界.离散化后,通过贪心解. /* 4343 */ #include <iostream> #in ...