在Linux系统中常用vi命令进行文本编辑。

  vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。

  • 编辑模式:文本的编辑功能(insert mode)
  • 命令模式:文件的操作命令(command mode)

  默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用“esc”键,从命令模式切换到编辑模式使用“A”、“a”、“O”、“o”、“I”、“i”键。

  vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入。


一、最经常使用命令:

vi myfile —— 编辑文件

hjkl —— 光标上下左右

esc —— 返回命令行模式

a —— 光标之后插入

i —— 光标之前插入

o —— 插入下一行

x —— 删除一个字符

X —— 删除前一个字符

dd —— 删除整行

yw —— 复制

p —— 粘贴

u —— 恢复操作

:w filename —— 按指定的文件名保存

:wq —— 保存并退出

:q! —— 强制退出

  注意:
  1.用vi打开文件后,是处于「命令行模式(command mode)」,要切换到「插入模式(Insert mode)」才能够输入文字。切换方法:在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,才可以开始输入文字。

  2.编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按「ESC」键。

  3.保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)  


 二、全部命令:

1.进入vi的命令

vi filename —— 打开或新建文件,并将光标置于第一行首

vi +n filename  —— 打开文件,并将光标置于第n行首

vi + filename  —— 打开文件,并将光标置于最后一行首

vi +/pattern filename —— 打开文件,并将光标置于第一个与pattern匹配的串处

vi -r filename —— 在上次正用vi编辑时发生系统崩溃,恢复filename

vi filename....filename —— 打开多个文件,依次进行编辑

2.移动光标(上下左右箭头也可以,正规的为hjkl)

h —— 左

j —— 下

k —— 上

l —— 右

Ctrl+u —— 向文件首翻半屏

Ctrl+d —— 向文件尾翻半屏

Ctrl+f —— 向文件尾翻一屏

Ctrl+b —— 向文件首翻一屏

0(零) —— 当前行首

G —— 最后一行

$ —— 所在行的行尾

^ —— 所在行的行首

w —— 下个字母的字首

e —— 下个字母的字尾

b —— 上一个字母的字首

3.插入文本

i —— 插入模式,光标前

a —— 插入模式,光标后

o —— 插入模式,下一行行首

r —— 替换光标所在处的字符

R —— 替换光标所到的字符,知道按下“esc”键为止

4.删除文字

x —— 删除光标所在位置后面一个字符

8x —— 删除后面8个字符

X —— 删除光标前面一个字符

8X —— 删除光标前面8个字符

dd —— 删除光标所在行

8dd —— 删除8行

5.复制粘贴

yw —— 将光标所在之处到字尾的字符复制到缓冲区中

5yw —— 复制5个字到缓冲区

yy —— 复制整行

5yy —— 复制6行

p —— 将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

6.恢复上一次操作

u —— 恢复上一个操作,多次按“u”可以执行多次恢复

7.更改

cw —— 更改光标所在处的字到字尾处

5cw —— 更改5个字

8.跳至指定行

ctrl + g —— 列出光标所在行号及百分比

5G —— 移动至第5行行首

9.Last line mode

在处于“command mode”模式下,按“:”进入“last line mode”

:set nu —— 列出行号(set number)

:set nonumber —— 不显示行号

:f —— 显示比例

:#(5) —— 跳到第5行

:/key —— 查找字符,一直按n可以往后搜索

:?key —— 查找字符,一直按n可以往前搜索

:w —— 保存文件

:q —— 退出vi

:q! —— 强制退出vi

:wq —— 保存并退出


END 2018-08-21 16:46:05

Linux学习笔记:vi常用命令的更多相关文章

  1. Linux学习笔记:常用命令

    个人常用的Linux命令总结(持续更新): 切换目录:cd 列出目录下面的文件:ls 显示当前所在的目录:pwd 操作文件 新建文件:touch file01 查看文件内容:less more cat ...

  2. Linux学习笔记:常用命令grep、iconv、cp、mv、rm

    本篇记录一些近期常用的命令. 一.grep过滤 grep过滤 不包含某些字符串 cat test.txt | grep -v '.jpg' 过滤jpg结尾的图片 cat test.txt | grep ...

  3. LInux学习笔记之常用命令

    以下命令主要是平时用到的命令,对于一些经常用到的,就收集资料,归纳一下. 指令目录: 1.yum命令: 2.wget命令: 3.tar命令: 4../configure,make,make insta ...

  4. linux学习笔记-2.常用命令

    说明:安装linux时,创建一个luao用户,然后使用root用户登陆系统 1.进入到用户根目录 cd ~ 或 cd cd / 返回到根目录 2.查看当前所在目录 pwd 3.进入到luao用户根目录 ...

  5. linux学习笔记 其他常用命令

    cd + 回车  = cd ~ 进入当前用户主目录 查看指定进程信息 *ps -ef |grep 进程名 *ps -查看属于自己的进程 *ps -aux 查看所有的用户的执行进程 换成    ps - ...

  6. 【Linux学习笔记】常用命令速记

    创建文件夹:mkdir 文件夹名 删除文件夹 rmdir 文件夹名 进入文件夹 cd 文件夹名 给某个目录所有用户配置读写权限:chmod 777 -R 文件夹名(-R会递归里面所有的子文件夹并给和父 ...

  7. Linux学习笔记:常用100条命令(三)

    linux常用命令 1.查看当前yum源 yum list 2.查看电脑以及操作系统的相关信息 uname -a 3.查看当前版本信息 cat /proc/version 4.查看发行版本信息 cat ...

  8. Linux学习笔记:常用100条命令(二)

    linux常用命令 1.vi中复制快捷键 yy --复制 p --粘贴 2.vi中保存退出 ZZ 3.linux解压zip unzip 4.查看软件组包 yum grouplist 5.安装组包 yu ...

  9. Linux学习笔记:常用100条命令(一)

    linux常用命令 1.关机 shutdown -h now 立刻关机 poweroff shutdown -r now 立刻重启 reboot logout 注销 2.进入图形界面 startx 3 ...

  10. Linux学习之路--常用命令讲解

    Linux常用命令讲解 1.命令格式:命令 [-选项]  [参数] 超级用户的提示符是# 一般用户的提示符是$ 如:ls -la /usr说明: 大部分命令遵从该格式多个选项时,可以一起写 eg:ls ...

随机推荐

  1. mac 必备工具

    iTerm 可以在一个窗口中垂直.水平分割窗口,而不用切换来切换去 一些基本功能如下: 1.分窗口操作:shift+command+d(横向)command+d(竖向) 2.查找和粘贴:command ...

  2. shiro权限认证与授权

    什么是shiro? Shiro是apache旗下一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权.加密.会话管理等功能,组成了一个通用的安全认证框架. 为什么要用sh ...

  3. Java入门:使用Java API

    什么是Java类库 在编写程序的时候,通常有很多功能是通用的,或者是很基础的,可以用这些功能来组成更发杂的功能代码.比如文件操作,不同程序对文件的操作基本都是一样的,打开文件,关闭文件,读取文件里面的 ...

  4. PHP_EOL 写入字符串换行 , php获取毫秒 microtime

    private function miclog($t1,$t2,$name){ $lasttime = ($t2 - $t1).'ms'; $content = date('Y-m-d H:i:s', ...

  5. TCP、UDP绑定同一端口通信的解释

    昨日突然讨论起TCP与UDP是否可以在同一端口进行绑定,通信. 在印象当中我记得是可以的,今日google了相关资料, 确定以及肯定的: TCP.UDP可以绑定同一端口来进行通信: 网络中可以被命名和 ...

  6. 将输出语句打印至tomcat日志文件中

    tomcat-9.0.0 将程序中            System.out.println("------------这是输出语句System.out.println()-------- ...

  7. Java并发编程原理与实战四十一:重排序 和 happens-before

    一.概念理解 首先我们先来了解一下什么是重排序:重排序是指编译器和处理器为了优化程序性能而对指令序列进行重新排序的一种手段. 从Java源代码到最终实际执行的指令序列,会分别经历下面3种重排序,如下图 ...

  8. 11个实用的CSS学习工具[转载收藏]

    1. 盒子模型的幻灯片 通过3D转换效果产生的互动的幻灯片.按向左或向右箭头键切换,全屏观看会有更好的效果. 2. CSS Diner 通过一个简单的小游戏让你学习CSS selector,输入正确的 ...

  9. win7下设置挂载Linux服务器nfs共享的数据 -- 转

    最近学习NFS文件系统的使用,Ubuntu上配置好了,想和Win7共享数据,所以网上搜到了这篇文章.借花献佛,跟大家共享一下: http://www.2cto.com/os/201207/139132 ...

  10. HTML5之2D物理引擎 Box2D for javascript Games 系列 翻外篇--如何结合createJS应用box2d.js

    太久没有更新了,新年回来工作,突然有收到网友的邮件提问,居然还有人在关注,惭愧,找了下电脑上还有一点儿存着,顺便先发这一个番外篇吧,好歹可以看到真实的效果,等我考完英语,一定会更新下一章," ...