`
su1216
  • 浏览: 670956 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Group-logo
深入入门正则表达式(jav...
浏览量:71916
E60283d7-4822-3dfb-9de4-f2377e30189c
android手机的安全问...
浏览量:128763
社区版块
存档分类
最新评论

《Unix & Linux 大学教程》 - 第二十二章(二) 学习笔记

阅读更多

学习笔记,内容基础,适合初学者。

 

阅读之前,请务必花30秒查看前言说明(在第一、二章前面部分)

《Unix & Linux 大学教程》 - 第一、二章 学习笔记    Unix简介 & 什么是Linux?什么是Unix

《Unix & Linux 大学教程》 - 第三、四章 学习笔记    Unix连接 & 开始使用Unix

《Unix & Linux 大学教程》 - 第五、六章 学习笔记    GUI:图形用户界面 & Unix工作环境

《Unix & Linux 大学教程》 - 第七、八章 学习笔记    Unix键盘使用 & 能够立即使用的程序

《Unix & Linux 大学教程》 - 第九、十章 学习笔记    文档资料:Unix手册与Info & 命令语法

《Unix & Linux 大学教程》 - 第十一、十二章 学习笔记    shell & 使用shell:变量和选项

《Unix & Linux 大学教程》 - 第十三章 学习笔记    使用shell:命令和定制

《Unix & Linux 大学教程》 - 第十四、十五章 学习笔记     使用shell:初始化文件

《Unix & Linux 大学教程》 - 第十八章 学习笔记    过滤器:统计和格式化
《Unix & Linux 大学教程》 - 第十九章(一) 学习笔记    过滤器:选取、排序、组合及变换
《Unix & Linux 大学教程》 - 第十九章(二)、第二十章 学习笔记  过滤器:选取、排序、组合及变换 正则表达式

《Unix & Linux 大学教程》 - 第二十一章 学习笔记  显示文件

《Unix & Linux 大学教程》 - 第二十二章(一) 学习笔记  vi文本编辑器(一)

《Unix & Linux 大学教程》 - 第二十二章(二) 学习笔记  vi文本编辑器 (二)

《Unix & Linux 大学教程》 - 第二十二章(三) 学习笔记  vi文本编辑器 (三)

《Unix & Linux 大学教程》 - 第二十四章 学习笔记  目录操作

《Unix & Linux 大学教程》 - 第二十五章 学习笔记  文件操作

《Unix & Linux 大学教程》 - 第二十六章(一) 学习笔记  进程和作业控制

《Unix & Linux 大学教程》 - 第二十六章(二) 学习笔记  进程和作业控制

《Unix & Linux 大学教程》 - 附录F 时区与24小时制时间

 

 

 

第二十二章:vi文本编辑器(二)

vi中的句子定义:

以句号、逗号、问号或者感叹号结尾,后面至少跟着两个空格或一个新行字符

 

移动光标

按字符移动

h或<left>或<backspace>:左

j或<down>:下

k或<up>:上

l或<right>或<space>:右

 

按行移动

-:光标移动到上一行的开头

+或<return>:光标移动到下一行的开头

 

0:将光标移动到当前行的开头

$:将光标移动到当前行的末尾

^:将光标移动到当前行的第一个非空格/制表符的字符上

 

按单词移动

w:将光标移动到下一个单词词首

e:将光标移动到下一个单词词尾

b:将光标移动到上一个单词词首

 

W:同w,忽略标点

E:同e,忽略标点

B:同b,忽略标点

 

 

大范围移动

H:将光标移动到屏幕顶部

M:将光标移动到屏幕中间

L:将光标移动到屏幕的最后一行


数字+命令=重复操作数字次命令

50j (下移50行)

 

 

在编辑缓冲区中移动

^F(forward):向下(前)移动一屏

^B(backward):向上(后)移动一屏

^D:向下移动半屏

^U:向上移动半屏

10^B (向上移动十屏)

 

 

使用行号

nG 同 :n:跳转到第n行

gg 同 1G 同 :1:跳转到第一行

G 同 :$ :跳转到最后一行

 

 

 

 

跳转到前一位置

``(两个反引号):返回前一个位置

''(两个单引号):返回前一个位置,跳转到行开头

 

命名行:m+一个字母

跳转到此和行

`+行名

'+行名

 

ma (命名当前行为a)

`a (跳转到名为a的行)

 

 

 

搜索模式

(/斜线和?问号命令)

和less一样

/表示向后搜索

?表示向前搜索

n查找下一个结果

N查找上一个结果

 

 

 

插入文本

i:改变到输入模式 - 在当前光标位置前插入数据

a:改变到输入模式 - 在当前光标位置后插入数据

I 同 ^i:改变到输入模式 - 在当前行开头处插入数据

A 同 ^a:改变到输入模式 - 在当前行末尾处插入数据

o:改变到输入模式 - 在当前行下面插入一行

O:改变到输入模式 - 在当前行上面插入一行

 

 

修改文本

r:替换一个字符

R:替换(按<ESC>退出替换)

s:删除当前字符并进入编辑模式(按<ESC>退出编辑)

S 同 cc:删除当前行,并进入编辑模式

C:删除从光标当前位置到行尾的所有字符,并进入编辑模式

 

c+移动光标的命令

cw:删除当前位置到单词末尾的字符,并进入编辑模式

c0:删除当前位置到行开头的所有字符,并进入编辑模式

c^:删除当前位置到行开头的非空白字符所有字符,并进入编辑模式

 

 

 

替换文本

:s/pattern/replace/cg

s(substitute,替换):替换

c(confirm,确认):替换前需要用户确认

g(global,全局):对当前行进行全局替换

 

替换指定行文本

 

:s/pattern/replace替换当前行

:lines/pattern/replace替换指定行

:line,lines/pattern/replace替换指定范围行

:%s/pattern/replace替换所有行

 

.(点号):当前行

$:最后一行

%:编辑缓冲区的所有行

 

 

:12s/UNIX/Linux/ 将第12行UNIX替换为Linux

:12,15s/UNIX/Linux/ 将第12行至第15行UNIX替换为Linux

:.,$s/UNIX/Linux/

:1,.s/UNIX/Linux/

:1,$s/UNIX/Linux/ 同 :%s/UNIX/Linux/

 

 

 

删除文本

x:删除当前光标处的字符

X:删除光标左边的字符

D:删除光标到本行末尾的字符

dmove:删除光标到move位置的字符

dd:删除当前行

 

:lined:删除指定行

:line,lined:删除指定范围的行

 

dG:删除当前行到编辑缓冲区末尾的所有行

dgg 或 d1G:删除从当前行到编辑缓冲区开头的所有行

(G、gg、1G见上面的使用行号节)

:50,55d:删除第50-55行

 

 

 

撤销或重复改变

u:撤销上一命令对编辑缓冲区的修改

U:恢复当前行,一次将当前行所有改变都恢复(光标离开当前行之前才有效)

.:重复上一命令对编辑缓冲区的修改(可以利用它复制文本)

(点号命令的特殊情况见下节的恢复编号缓冲区内容)

比如现在处于命令模式,然后输入

iTest<ESC>

这时候在当前位置插入了Test这几个字符,然后将光标移动到下一个要插入字符的位置,然后按.,此时就会再次插入Test(重复上次的iTest<ESC>,可以使用u进行撤销)

 

 

 

 

移动(剪切)文本

无名缓冲区:在此为上一次的删除保存一份副本

p:将无名缓冲区内容保存插入到光标右边

P:将无名缓冲区内容保存插入到光标左边

 

 

扩展

xp:调换两个字符

deep:调换两个单词

ddp:调换两行

 

 

 

恢复删除

编号缓冲区:vi将删除的保存到一个特殊的存储区中,共有9个这样的缓冲区,编号为1-9(删除行的一部分,并不会保存到这里)

使用方法

"数字p:恢复此数字编号缓冲区中内容,插入当前行下面

"数字P:恢复此数字编号缓冲区中内容,插入当前行上面

(p,put)

在此时使用.命令时,数字会自动加一

也就是说

"1p.

相当于

"1p"2p

 

 

 

复制文本

在不删除文本的情况下将文本复制到无名缓冲区时,称接出(yank)了文本

与d和dd工作方式相同

yw:接出一个单词

y10w:接出10个单词

yb:向后接出一个单词

y2):接出两个句子

之后使用p或P插入文本

 

Y与D工作方式不同

Y接出整行

D删除从当前字符到这行末尾的字符,y$与此类似

 

 


改变字母大小写

~:改变光标所在字母的大小写(大写变小写,小写变大写),并且光标右移一个位置

(部分vi的~不会越过行末尾,部分vi可以跨行)

 

 

 

 

转贴请保留以下链接

本人blog地址

http://su1216.iteye.com/

http://blog.csdn.net/su1216/

1
4
分享到:
评论

相关推荐

    鸟哥的私房菜Linux学习笔记

    #### 第二章 Linux是什么 **1. Linux历史** - **起源**: 1991年,Linus Torvalds基于GNU工具和Minix设计灵感开发出Linux内核。 - **重要事件**: - 1969年: Ken Thompson开发Unix原型。 - 1973年: C语言用于重写...

    Linux学习笔记.pdf,linux详解,LINUX

    本资料“Linux学习笔记.pdf”将带你深入理解Linux的基础知识和高级应用。 一、Linux系统概述 1. Linux的起源:Linux的诞生源于托瓦兹对Minix系统的不满,他决定创建一个符合个人需求的、免费的Unix-like操作系统...

    linux学习笔记 .doc

    Linux学习笔记概述 Linux是一种自由和开放源代码的操作系统,其设计目标是提供一个轻量级、高效且安全的计算平台。Linux系统采用类UNIX目录结构,每个目录都有特定的功能和用途。以下是对Linux主要目录及其内容的...

    linux系统学习笔记

    ### Linux系统学习笔记 #### 一、Linux系统Shell介绍 1. **Linux系统Shell类型**:Linux系统提供了多种Shell供用户选择,常见的包括Bourne shell (`sh`), C shell (`csh`), Korn shell (`ksh`)等。其中,`sh`是Unix...

    2009 达内Unix学习笔记

    集合了 所有的 Unix命令大全 登陆服务器时输入 公帐号 openlab-open123 telnet 192.168.0.23 自己帐号 sd08077-you0 ftp工具 192.168.0.202 tools-toolss 老师测评网址 http://172.16.0.198:8080/poll/ 各个 ...

    linux与unix经典编程

    - 第一部分的第二个至第十个字符分为三个三元组(triplet),分别表示文件属主、组用户和其他用户的权限。 - 第二部分表示文件的硬链接数目。 - 第三部分表示文件属主。 - 第四部分表示文件属主所在的默认组。 - 第...

    APUE读书笔记(Unix高级环境编程)

    #### 第二章 Unix标准化及实现 - **主要标准**:介绍POSIX标准、IEEE Std 1003.1以及其他相关标准。 - **主要Unix系统实现简介**:列举不同的Unix变种(如Solaris、AIX、HP-UX等),并简要说明其特点。 - **系统...

    成功之路Oracle11g学习笔记 笔记0420

    - **主要内容**: 包括了 Oracle 11g 的基础学习内容,覆盖了第 1 至 6 章以及第 11、12、14、22 和 23 章。 #### 二、Oracle 服务器端安装 ##### 2.2 Oracle 安装 - **最低安装要求**: - 内存: 通常建议至少 2GB ...

    第11章 Linux操作系统基础-教程与笔记习题

    以下是对"第11章 Linux操作系统基础"的主要知识点的详细阐述。 一、Linux操作系统简介 Linux是基于Unix的操作系统,由林纳斯·托瓦兹于1991年创建。它的内核是开源的,允许全球开发者对其进行修改和优化。Linux系统...

    嵌入式Linux入门笔记

    通过“嵌入式Linux入门笔记”,学习者将能了解嵌入式系统的基础概念,熟悉Linux内核、设备驱动、Bootloader的工作原理,掌握构建和调试嵌入式系统的技能,为成为一名合格的嵌入式Linux开发者打下坚实基础。

    python学习笔记

    ### Python学习笔记知识点总结 #### 一、Python简介与特点 **1.1 Python起源与发展** - **创建背景:** Python由Guido van Rossum在1989年圣诞节期间创建,旨在解决当时编程语言的一些不足之处。 - **设计理念...

    OS + Unix FreeBSD / MacOSX Snow Leopard 10.6.3-8 / MacBook Pro / apple / MC373

    3. **MacOSX Snow Leopard (10.6)**:这是苹果公司发布的Mac OS X系列操作系统的第十二个主要版本,代号“雪豹”。Snow Leopard在性能优化和内存管理上做出了重大改进,特别是针对64位应用的支持。10.6.3-8表示该...

    linux-python

    IPv4由32位二进制组成,通常以四段十进制表示,如192.168.78.22;IPv6则为128位二进制,以十六进制表示,如fe80::bc92:8。随着IPv4地址的枯竭,IPv6正在逐渐普及。 总的来说,这个PDF教程旨在帮助读者掌握Linux环境...

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...

    Linux笔记[整理].pdf

    Linux操作系统是开源的类Unix系统,广泛应用于服务器、嵌入式设备和桌面环境中。了解Linux的基础知识,特别是其目录结构和命令行操作,对于软件开发人员来说至关重要。 首先,让我们来详细了解一下Linux的目录结构...

    总结搜集的shell脚本学习笔记(完结篇).pdf

    ### Shell脚本编程知识点概述 #### 一、预备知识与基本概念 在开始Shell脚本文档的学习之前,首先需要理解Shell...以上就是文档《总结搜集的shell脚本学习笔记(完结篇)》中所涵盖的主要知识点,希望对你有所帮助。

    计算机导论-教案.pdf

    - 操作系统:管理硬件资源和软件资源,如DOS、Windows、UNIX和Linux等。 - 程序设计与语言:包括编译、解释方式,低级语言和高级语言的区别。 6. **数据库管理系统**: - 常见的数据库系统如FoxBASE、Access、...

    Linux 101考试模块化培训笔记(Andrew McGill)Linux 101 Examination Modular Training Notes (Andrew McGill)

    Linux 101考试模块化培训笔记是为Linux专业人士协会(LPI)的LPI 101考试准备的,尤其针对考试的第2版目标。这本培训笔记由Andrew McGill编写,属于Leading Edge Business Solutions公司的Linux培训计划的一部分。该...

    网络三级考试笔试笔记教材

    - 操作系统:Windows、UNIX、Linux等。 3. **计算机技术指标**: - **位数**:指寄存器的字长,如8位、16位、32位、64位等。 - **速度**:通常以主频衡量CPU的运算速度。 - **容量**:包括内存和外存,常用单位...

Global site tag (gtag.js) - Google Analytics