Linux第二次学习笔记
Linux第二次实验(第三周)
学习目标
- 熟悉Linux系统下的开发环境
- 熟悉vi的基本操作
- 熟悉gcc编译器的基本原理
- 熟练使用gcc编译器的常用选项
- 熟练使用gdb调试技术
- 熟悉makefile基本原理及语法规范
- 掌握静态库和动态库的生成
VI的使用
1.VI的模式
(1)命令行模式
(2)插入模式
(3)底行模式
2.VI的基本流程
(1)进入vi,即在命令行下输入"vi hello",进入命令行模式。
(2)在命令行模式下输入i进入插入模式。
(3)在插入模式中,按"Ese",将当前模式转入命令行模式,并在底行行中输入":wq"(存盘退出)进入底行模式
3.vi功能键的学习过程:
h:左移光标
j:下移光标
k:上移光标
l:右移光标
在命令行模式中:
i:切换到插入模式,在目前的光标所在处插入输入的文字,已存在的文字会后退
x:删除光标所在为止的一个字符
a:切换到插入模式,并从目前光标所在为止的下一个位置开始输入文字
vim 文件名: 进入Vim编辑器
dw:从当前光标删除至下一个单词的起始处,不包括它的第一个字符
d$:从当前光标删除至行末
de:从当前光标删除至单词末尾,包括最后一个字符
**对于中文的操作是否也是如此?
0:光标移动至行的开头
$:光标移动至行的结尾
e:光标移动至所在处下一个单词尾部
ne:光标移动至所在处下n个单词尾部
w:光标移动至所在处下一个单词开头
nw:光标移动至所在处下n个单词开头
**若所需移动的单词本行不足以提供时会怎样? 答:下一行的单词将用以拼凑
**用d0,d$来加深理解
dd:删除当前行
ndd:删除光标所在处往下n行(包括自己)
u:撤销最后执行的命令,相当于windows中的ctrl+z
U:撤销对整行的修改
ctrl+r:撤销掉撤销的动作
在正常模式下修改命令的格式:
operator [number] motion
operator - 操作符,代表要做的事情,比如d代表删除
[number] - 可以附加数字,代表动作重复的次数
motion - 动作,代表在所操作的文本上的移动,例如w代表单词(word),$代表行末等等
p:将最后依次删除的内容防止光标之后。(若删除的为行,则需要将光标移至需添加处的上方。若为仅为单词或字母,则可以需要将光标移至需添加出的左方。)
r和一个字符:替换光标所在为止的字符
R:多字符替换
ce:修改文本直到一个单词的末尾(相当于删除+插入的操作)
c [number] motion
c$:修改文本直至行末
**ce与cw的区别?
G:光标移动至文件最后一行
gg:光标移动至文件第一行
nG:光标移动至文件第n行
ctrl+g:显示当前编辑的文件名和文件中光标位置
/和一个字符串:在当前文件中查找该字符串
n:向光标所在处下方查找上一次的字符串
N:向光标所在处上方查找上一次的字符串
?相对于/为逆向查找
ctrl+0:回到之前的位置
ctrl+i:光标移动至较新的位置
%:查找配对的括号
v:进入可视模式
v+方向键:选取所需要进行操作的内容
o:在光标所在的下一行进入插入模式
O:在光标所在的上一行进入插入模式
y:复制
yw:复制一个单词
p:粘贴
[[ : 转到上一个位于第一列的"{"
]] : 转到下一个位于第一列的"{"
{ : 转到上一个空行
} : 转到下一个空行
gd 转到当前光标所指的局部变量的定义
在插入模式中:
完成后输入"Esc"退出编辑
在底行模式中:
输入":wq"存盘退出
输入":q!"放弃所有改动
输入"
Linux第二次学习笔记的更多相关文章
- 《Linux内核分析》第二周学习笔记
<Linux内核分析>第二周学习笔记 操作系统是如何工作的 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/ ...
- Linux内核分析第二周学习笔记
linux内核分析第二周学习笔记 标签(空格分隔): 20135328陈都 陈都 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.co ...
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]
Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...
- Docker技术入门与实战 第二版-学习笔记-8-网络功能network-3-容器访问控制和自定义网桥
1)容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables防火墙来进行管理和实现. iptables是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 ...
- Linux进程线程学习笔记:运行新程序
Linux进程线程学习笔记:运行新程序 周银辉 在上一篇中我们说到,当启动一个新进程以后,新进程会复制父进程的大部份上下 ...
- Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)
Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)
- Linux进程间通信IPC学习笔记之同步二(Posix 信号量)
Linux进程间通信IPC学习笔记之同步二(Posix 信号量)
- Linux进程间通信IPC学习笔记之消息队列(SVR4)
Linux进程间通信IPC学习笔记之消息队列(SVR4)
- Linux进程间通信IPC学习笔记之有名管道
基础知识: 有名管道,FIFO先进先出,它是一个单向(半双工)的数据流,不同于管道的是:是最初的Unix IPC形式,可追溯到1973年的Unix第3版.使用其应注意两点: 1)有一个与路径名关联的名 ...
随机推荐
- LeetCode 1 Two Sum(二分法)
题目来源:https://leetcode.com/problems/two-sum/ Given an array of integers, find two numbers such that t ...
- QA:Failed to deploy artifacts from/to snapshots XX Failed to transfer file Return code is: 405, ReasonPhrase:Method Not Allowed.
QA: Failed to deploy artifacts from/to snapshots XX Failed to transfer file Return code is: 405, Rea ...
- FLUSH TABLES WITH READ LOCK
最近在mysql主从复制中用到锁,翻了资料回忆一下.一下内容参考于:http://blog.csdn.net/arkblue/article/details/27376991 1.FLUSH TABL ...
- 安装concrete时提示“...database does not support InnoDB database tables..."如何解决
安装很多系统时,经常有有提示: "...database does not support InnoDB database tables..." 解决办法: 找到MySQL的配置文 ...
- Openstack python api 学习文档 api创建虚拟机
Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack ...
- SQLServer中登录名的用户名配置
其实这个问题困扰我很久了. 今夏(13.7)实习的时候第一次接触sqlserver 当时是统一安排,按部就班的做就行. 那时候链接数据库用的id是sa. 后来自己做小程序时候举得不管什么都用sa登录好 ...
- spring中的 classpath* 存在可移植性问题
classpath* 的可移植性问题,许多人都应该遇到过了.下面就是一个例子(使用的是spring4.1.5和mybatis3.2.8): <bean id="sqlSessionFa ...
- 更改ubuntu下mysql的密码
1.首先,进入环境中去,即 mysql -u root -p ,然后输入原始密码 2.此时会出现 mysql > 3.开始修改密码: mysql > use mysql ; ...
- nginx根据IP限制访问
nginx有两个模块可以控制访问 HttpLimitZoneModule 限制同时并发访问的数量 HttpLimitReqModule 限制访问数据,每秒内最多几个请求 http{ ## ...
- 网站日志实时分析工具GoAccess使用
网站日志实时分析工具GoAccess使用 系统环境CentOS release 5.5 (Final) GoAccess是一款开源的网站日志实时分析工具. GoAccess 的工作方式就是读取和解析 ...