技术杂记之:vi使用入门
对于Linux的初次使用者来说,进入Linux非图形界面后,不知道怎么创建文本(甚至于在图形界面,也找不到创建文本的菜单)。其实,每一个Linux的发行版本,都包含了一个最简单、也是最基础的文本编辑器:vi(Visual Interface)。
其实,想要创建文本文件,很简单,只要在终端中输入:vi myfile.txt就可以了。注意了,包括想要创建java文件,也可以这样的。
要使用vi,得从vi的三个状态讲起。
1、vi的三个状态
a)命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除。
b)插入模式(Insert mode)
在此模式下才能文字编辑,按「ESC」键可回到命令行模式。初学者发现自己怎么敲键盘都不能编辑文本,就是因为vi没有在插入模式下。
c)底行模式(last line mode)
此模式下可以进行文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。
2、vi的最简入门
a)进入vi
命令:
vi myfile
此刻,vi是在命令模式下。Widnows用户此刻习惯想用上下左右键移动光标,结果发现毫无用处。此时此刻,先按字母「i」就能进入插入模式,你才能进行真正的编辑。
b)切换至插入模式(Insert mode)编辑文件
在命令模式下按一下字母「i」就可以进入插入模式,进行真正的文字编辑。
c)退出vi及保存文件
按「ESC」进入到命令行模式,在按一下冒号「:」键就能进入底行模式,然后敲入命令:
: w filename 保存
: wq 保存并退出vi
: q! 强制退出,且不保存
3、命令行模式重要功能键
a)插入模式
按「i」切换进入插入模式「insert mode」;
b)从插入模式切换为命令行模式
按「ESC」键;
c)移动光标
按字母「h」、「j」、「k」、「l」,可以左、下、上、右移一格。
按「ctrl」+「b」:往后移动一页。
按「ctrl」+「f」:往前移动一页。
按「0」:移到开头。
按「G」:移到最后。
d)删除文字
「x」:删除光标之后"一个字符。
「#x」:如,「3x」删除光标后3个字符。
「dd」:删除当前行。
「#dd」:删除当前行之后#行
e)复制
「yy」:复制当前行。
「#yy」:复制当前行之后#行。
f)回复上一次操作
「u」:撤销上次操作。
g)跳至指定的行
「ctrl」+「g」,列出所在行行号。
「#G」:光标移致第#行。
4、Last line mode重要命令
a)列出行号
「set nu」:显示文本行号。
b)跳到文件中的某一行
「#」:光标移动到文本的第#行。
c)查找字符
「/关键字」:能定位到关键字所在位置。按「n」会往后继续查找。
d)保存文件
「w」:保存文件。
e)离开vi
「q!」:强行退出vi。
「qw」:保存并退出。
感谢关注“码农星球”。本文版权属于“码农星球”。我们提供咨询和培训服务,关于本文有任何困惑,请关注并联系我们。
技术杂记之:vi使用入门的更多相关文章
- Vi编辑器入门
Vi编辑器入门 vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows上的记事本! 1.vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode ...
- Window Azure ServiceBus Messaging消息队列技术系列2-编程SDK入门
各位,上一篇基本概念和架构中,我们介绍了Window Azure ServiceBus的消息队列技术的概览.接下来,我们进入编程模式和详细功能介绍模式,一点一点把ServiceBus技术研究出来. 本 ...
- vi使用入门指南
一.Unix编辑器概述 编辑器是使用计算机的重要工具之一,在各种操作系统中,编辑器都是必不可少的部件.Unix及其相似的ix操作系统系列中,为方便各种用户在各个不同的环境中使用,提供了一系列的ex编辑 ...
- Azure Messaging-ServiceBus Messaging消息队列技术系列2-编程SDK入门
各位,上一篇基本概念和架构中,我们介绍了Window Azure ServiceBus的消息队列技术的概览.接下来,我们进入编程模式和详细功能介绍模式,一点一点把ServiceBus技术研究出来. 本 ...
- 走进JavaWeb技术世界13:Hibernate入门经典与注解式开发
原文地址:Hibernate入门这一篇就够了 前言 本博文主要讲解介绍Hibernate框架,ORM的概念和Hibernate入门,相信你们看了就会使用Hibernate了! 什么是Hibernate ...
- 走进JavaWeb技术世界14:Mybatis入门
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- 【JEECG-Boot 技术文档】新手入门教程
Jeecg-Boot入门教程必看(新手学习) 1.开发环境搭建 http://jeecg-boot.mydoc.io/?t=345670 开发工具 :https://pan.baidu.com/sha ...
- vi 使用入门
几种模式: Normal Mode 命令模式 Insert Mode 编辑模式 Command-line Mode Visual Mode Select M ...
- 区块链技术(一):Truffle开发入门
以太坊是区块链开发领域最好的编程平台,而truffle是以太坊(Ethereum)最受欢迎的一个开发框架,这是我们第一篇区块链技术文章介绍truffle的原因,实战是最重要的事情,这篇文章不讲原理,只 ...
随机推荐
- CSS 相对|绝对(relative/absolute)定位系列(一)
一.有话要说 以前写内容基本上都是:眼睛一亮——哟呵,这个不错,写!然后去古人所说的茅房里蹲会儿,就有写作的思路了.但是,构思相对/绝对(relative/absolute)定位系列却有好些时日,考虑 ...
- linux系列之-—03 常见问题
问题1 描述:Linux如何查看JDK的安装路径 问题2 描述:执行shell脚本时报错,错误信息为:bash: line 19: jar: command not found 原因:因为在系统环境变 ...
- 【转】如何查看Oracle客户端版本及位数(Windows系统)
一.方法一 查看oracle客户端版本:sqlplus -v 查看oracle客户端版本:sqlplus /nolog命令 Step 1:运行sqlplus /nolog命令,如果你服务器安装了多个客 ...
- HDOJ 4455 Substrings 递推+树状数组
pre[i]第i位数往前走多少位碰到和它同样的数 dp[i]表示长度为i的子串,dp[i]能够由dp[i-1]加上从i到n的pre[i]>i-1的数减去最后一段长度为i-1的断中的不同的数得到. ...
- 使用JS对select标签进行联动选择
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- strtok函数
strtok函数是cstring文件里的函数 strtok函数是cstring文件里的函数 其功能是截断字符串 原型为:char *strtok(char s[],const char *delin) ...
- MIUI应用权限设置
不管你认为我写的好坏都能够在以下评论告诉我,你的支持是我继续写下去的动力,谢谢. 随着miui越来越封闭,小米对非自由渠道的应用限制越来越苛刻.我们公司的产品一半以上的用户都是来自小米,并且像我们这种 ...
- 屏蔽微软的SignalR
去年采用ASP.NET MVC开发项目,在谷歌浏览器里调试页面的时候,发现项目在不停地请求数据,链接很奇怪: http://localhost:63004/654c2dd725bb4401b8fc0c ...
- ou've likely run out of ephemeral ports on your system
redis.exceptions.ConnectionError: Error 99 connecting to 127.0.0.1:6379. Cannot assign requested add ...
- 系统队列中的Windows错误报告