博客
关于我
vi使用时的注意事项
阅读量:324 次
发布时间:2019-03-04

本文共 1770 字,大约阅读时间需要 5 分钟。

1. vi 的基本概念

vi 可以分为三种操作状态:命令模式(Command mode)插入模式(Insert mode)底线命令模式(Last line mode)。每种模式有不同的功能,理解它们的区别对使用 vi 是非常重要的。

(1) Command mode

在 Command mode 下,您可以控制屏幕光标的移动,字符或光标的删除,移动复制某段文本及进入 Insert mode,或者切换到 Last line mode。

(2) Insert mode

在 Insert mode 下,您可以输入文字数据。要切换到 Insert mode,只需在 Command mode 下按下 iao 键。

  • i:插入,从光标所在位置开始输入文字。
  • a:插入,光标所在位置的下一行开始输入文字。
  • o:插入,光标所在位置的新行开始输入文字。

(3) Last line mode

在 Last line mode 下,您可以执行文件操作,如存储文件、离开编辑器或设置编辑环境(如寻找字符串、列出行号等)。


2. vi 的基本操作

(1) 如何进入 vi?

在终端或 shell 提示符下输入以下命令即可进入 vi:

vi testfile

进入 vi 后,默认处于 Command mode。如果想输入文字,需切换至 Insert mode。

(2) 如何切换至 Insert mode 编辑文件?

在 Command mode 下,按下以下任一键即可进入 Insert mode:

  • i:插入从光标所在位置开始输入文字。
  • a:插入,光标所在位置的下一行开始输入文字。
  • o:插入,光标所在位置的新行开始输入文字。

(3) 如何离开 vi 及存文件?

在 Command mode 下,执行以下命令即可离开 vi:

  • :w filename:将文章存入指定文件。
  • :wq:存入文件后离开 vi。
  • :q!:强制离开 vi,放弃编辑。

3. Command mode 功能键列表

(1) 常用移动光标键

  • h, j, k, l:左、下、上、右移动一格。
  • Ctrl+B/Ctrl+F:屏幕往后/前移动一页。
  • Ctrl+U/Ctrl+D:屏幕往后/前移动半页。
  • 0:移到当前行开头。
  • G:移到当前文件末尾。
  • w:移到下一个单词开头。
  • e:移到下一个单词结尾。
  • b:移到上一个单词开头。
  • $:移到当前行末尾。
  • ^:移到当前行第一个非空字符。
  • #:移到特定列位置(如 #51 表示第 51 列)。

(2) 删除文字

  • x:删除光标后一个字符。
  • #x:按次数删除后续字符(如 6x 删除 6 个字符)。
  • X:删除光标前一个字符。
  • #X:按次数删除前面字符(如 20X 删除 20 个字符)。
  • dd:删除当前行。
  • #dd:按次数删除行(如 6dd 删除 6 行)。

(3) 复制

  • yw:将光标处到末尾复制到缓冲区。
  • p:将缓冲区内容粘贴到光标位置。
  • yy:复制当前行。
  • #yy:按次数复制行(如 6yy 复制 6 行)。
  • ap:将缓冲区内容粘贴。

(4) 取代

  • r:替换光标处的字符。
  • R:替换直到按回车。

(5) 复原

  • u:撤销上一次操作。
  • ::重复上一次操作。

(6) 更改

  • cw:更改光标处的字符到末尾。
  • c#w:按次数更改字符(如 c3w 更改 3 个字符)。

(7) 跳至指定行

  • Ctrl+G:显示光标所在行的行号。
  • #G:跳至指定行(如 15G 跳至第 15 行)。

4. Last line mode 下指令简介

在 Last line mode 下,输入以下命令:

(1) 列出行号

  • set nu:在每行前添加行号。

(2) 跳至指定行

  • #:输入行号后按回车跳至该行。

(3) 寻找字符串

  • /关键字:按 / 输入要寻找的字符串,按 n 往下寻找。
  • ?关键字:按 ? 输入要寻找的字符串,按 n 往上寻找。

(4) 取代字符串

  • $s/原字符串/替换字符串/g:按次数替换字符串。
  • %s/原字符串/替换字符串/c:替换时需确认。

(5) 存文件

  • w:存入当前文件。
  • #w filename:存入指定文件(如 #30w 存入第 30 行到 filename)。

(6) 离开

  • q:离开 vi。
  • qw:离开时存入文件。
  • q!:强制离开 vi。

转载地址:http://djwh.baihongyu.com/

你可能感兴趣的文章
Nginx 常用配置清单
查看>>
nginx 常用配置记录
查看>>
Nginx 我们必须知道的那些事
查看>>
Nginx 的 proxy_pass 使用简介
查看>>
Nginx 的配置文件中的 keepalive 介绍
查看>>
Nginx 负载均衡与权重配置解析
查看>>
Nginx 负载均衡详解
查看>>
nginx 配置 单页面应用的解决方案
查看>>
nginx 配置https(一)—— 自签名证书
查看>>
nginx 配置~~~本身就是一个静态资源的服务器
查看>>
Nginx 配置解析:从基础到高级应用指南
查看>>
nginx+Tomcat性能监控
查看>>
Nginx下配置codeigniter框架方法
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:128
查看>>
nginx添加模块与https支持
查看>>
Nginx用户认证
查看>>
Nginx的Rewrite正则表达式,匹配非某单词
查看>>
Nginx的使用总结(一)
查看>>
Nginx的使用总结(二)
查看>>
Nginx的可视化神器nginx-gui的下载配置和使用
查看>>