Vim 查找替换
Vim 查找替换
字符的替换及撤销(Undo操作)替换和撤销(Undo)命令替换和Undo命令都是针对普通模式下的操作
命令
说明
r+<待替换字母>
将游标所在字母替换为指定字母
R
连续替换,直到按下Esc
cc
替换整行,即删除游标所在行,并进入插入模式
cw
替换一个单词,即删除一个单词,并进入插入模式
C(大写)
替换游标以后至行末
~
反转游标所在字母大小写
u{n}
撤销一次或n次操作
U(大写)
撤销当前行的所有修改
Ctrl+r
redo,即撤销undo的操作
打开文件进行编辑:
123$ vim practice_2# 输入以下文本www.shiyanlou.com
然后依次进行如下操作
输入fa 跳转到第一个a字符
输入r,并且输入b,a字符被b字符替换(实用)
输入R替换字符,输入新字符串,输入完按ESC回到普通模式(实用)
输入cc替换整行字符,输入新字符串,输入完按ESC回到普通模式
输入cw 替换一个英文字(word),输入完按ESC回到普通模式(实用)
输入~,翻转游标所在字符的大小写
输入C ...
Vim 高级功能入门换
Vim 高级功能入门
多文件编辑使用vim编辑多个文件编辑多个文件有两种形式,一种是在进入vim前使用的参数就是多个文件。另一种就是进入vim后再编辑其他的文件。
同时创建两个新文件并编辑
1$ vim 1.txt 2.txt
默认进入1.txt文件的编辑界面
命令行模式下输入:n编辑2.txt文件,可以加!即:n!强制切换,之前一个文件的输入没有保存,仅仅切换到另一个文件命令行模式下输入:N编辑1.txt文件,可以加!即:N!强制切换,之前文件内的输入没有保存,仅仅是切换到另一个文件
进入vim后打开新文件
命令行模式下输入:e 3.txt 打开新文件3.txt
命令行模式下输入:e# 回到前一个文件
命令行模式下输入:ls可以列出以前编辑过的文档
命令行模式下输入:b 2.txt(或者编号)可以直接进入文件2.txt编辑
命令行模式下输入:bd 2.txt(或者编号)可以删除以前编辑过的列表中的文件项目
命令行模式下输入:e! 4.txt,新打开文件4.txt,放弃正在编辑的文件
命令行模式下输入:f 显示正在编辑的文件名
命令行模式下输入:f new.txt,改变正在编辑的文件名 ...
Vim 文档编辑
Vim 文档编辑
vim 重复命令重复执行上次命令在普通模式下.(小数点)表示重复上一次的命令操作
拷贝测试文件到本地目录
1$ cp /etc/protocols .
打开文件进行编辑
1$ vim protocols
普通模式下输入x,删除第一个字符,输入.(小数点)会再次删除一个字符,除此之外也可以重复dd的删除操作
执行指定次数相同的命令进入普通模式输入N<command>,N表示重复后面的次数,下面来练习以下:
打开文件文件进行编辑
1$ vim protocols
下面你可以依次进行如下操作练习:
输入10x,删除10个连续字符
输入3dd,将会删除3行文本
在普通模式下,你还可以使用dw或者daw(delete a word)删除一个单词,所以你可以很容易的联想到dnw(n替换为相应数字)表示删除n个单词
游标的快速跳转普通模式下,下列命令可以让光标快速调转到指定位置,我们分别讨论快速实现行间跳转和行内跳转
行间跳转
命令
说明
nG(n Shift+g)
游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:s ...
Vim 快速入门
Vim 快速入门
vim模式介绍Vim具有6种基本模式和5种派生模式,我们这里只简单介绍下6种基本模式:
普通模式(Normal mode)
在普通模式中,用的编辑器命令,比如移动光标,删除文本等等。这也是Vim启动后的默认模式。这正好和许多新用户期待的操作方式相反(大多数编辑器默认模式为插入模式)。
Vim强大的编辑能来自于其普通模式命令。普通模式命令往往需要一个操作符结尾。例如普通模式命令dd删除当前行,但是第一个”d”的后面可以跟另外的移动命令来代替第二个d,比如用移动到下一行的”j”键就可以删除当前行和下一行。另外还可以指定命令重复次数,2dd(重复dd两次),和dj的效果是一样的。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。
在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按a(append/追加)键或者i(insert/插入)键。
插入模式(Insert mode)
在这个模式中,大多数按键都会向文本缓冲中插入文本。大多数新用户希望文本编辑器编辑过程中一直保持这 ...
挑战:初始化 Git 仓库
挑战:初始化 Git 仓库
介绍对应上一章文档中的内容,来创建我们第一个本地 Git 仓库。我们需要设置个人的 Git 信息,包括 username 和 email。另外需要对本地 Git 仓库进行初始化操作以及增加一些项目文件。
目标
设置 Git 信息;
完成本地 Git 仓库的初始化操作;
设置关联到远程仓库;
创建 README.md 文件并进行 commit(不需要 push 到远程仓库);
标准
本地 Git 仓库目录固定为 /home/shiyanlou/HelloGit/。
远程仓库地址固定为 git@shiyanlou.com/HelloGit.git,远程版本库名称为 origin。
需要在本地目录中创建 README.md ,文件名为 README.md。并在其中增加文本 Hello World。
提示git init, git commit 命令练习。
答案123456789git config --global user.name "yeureka"git config --global user.email "yijinya ...
Git 基本用法(下)
Git 基本用法(下)
实验准备在进行该实验之前,可以先clone一个练习项目gitproject:
1$ git clone https://github.com/shiyanlou/gitproject
本节中的实验操作都是在该项目中完成。
比较内容比较提交 - Git Diff现在我们对项目做些修改:
12345$ cd gitproject# 向README文件添加一行$ echo "new line" >> README.md# 添加新的文件file1$ echo "new file" >> file1
使用git status查看当前修改的状态:
12345678910111213141516$ git statusOn branch masterYour branch is up-to-date with 'origin/master'.Changes not staged for commit: (use "git add < ...
Git 基本用法(上)
Git 基本用法(上)
git的初始化Git 配置使用Git的第一件事就是设置你的名字和email,这些就是你在提交commit时的签名,每次提交记录里都会包含这些信息。使用git config命令进行配置:
12$ git config --global user.name "Scott Chacon"$ git config --global user.email "schacon@gmail.com"
执行了上面的命令后,会在家目录(/home/shiyanlou)下建立一个叫.gitconfig 的文件(该文件为隐藏文件,需要使用ls -al查看到). 内容一般像下面这样,可以使用vim或cat查看文件内容:
1234$ cat ~/.gitconfig[user] email = schacon@gmail.com name = Scott Chacon
上面的配置文件就是Git全局配置的文件,一般配置方法是git config –global <配置名称> < ...
Git 介绍
Git 介绍
git诞生略
版本控制系统Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢?
先说集中式版本控制系统,版本库是集中存放在中央服务器的,而大家工作的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始工作,工作完成,再把自己的修订推送给中央服务器。这类系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人 ...
Linux 日志系统
Linux 日志系统
常见的日志日志是一个系统管理员,一个运维人员,甚至是开发人员不可或缺的东西,系统用久了偶尔也会出现一些错误,我们需要日志来给系统排错,在一些网络应用服务不能正常工作的时候,我们需要用日志来做问题定位,日志还是过往时间的记录本,我们可以通过它知道我们是否被不明用户登陆过等等。
在 Linux 中大部分的发行版都内置使用 syslog 系统日志,那么通过前期的课程我们了解到常见的日志一般存放在 /var/log 中,我们来看看其中有哪些日志
根据图中所显示的日志,我们可以根据服务对象粗略的将日志分为两类
系统日志
应用日志
系统日志主要是存放系统内置程序或系统内核之类的日志信息如 alternatives.log 、btmp 等等,应用日志主要是我们装的第三方应用所产生的日志如 tomcat7 、apache2 等等。
接下来我们来看看常见的系统日志有哪些,他们都记录了怎样的信息
日志名称
记录信息
alternatives.log
系统的一些更新替代信息记录
apport.log
应用程序崩溃信息记录
apt/history.log
使用 a ...
Linux 进程管理
Linux 进程管理
进程的查看不管在测试的时候、在实际的生产环境中,还是自己的使用过程中,难免会遇到一些进程异常的情况,所以 Linux 为我们提供了一些工具来查看进程的状态信息。我们可以通过 top 实时得查看进程的状态,以及系统的一些信息(如 CPU、内存信息等),我们还可以通过 ps 来静态查看当前的进程信息,同时我们还可以使用 pstree 来查看当前活跃进程的树形结构。
top 工具的使用top 工具是我们常用的一个查看工具,能实时的查看我们系统的一些关键信息的变化:
1$ top
top 是一个在前台执行的程序,所以执行后便进入到这样的一个交互界面,正是因为交互界面我们才可以实时的获取到系统与进程的信息。在交互界面中我们可以通过一些指令来操作和筛选。在此之前我们先来了解显示了哪些信息。
我们看到 top 显示的第一排,
内容
解释
top
表示当前程序的名称
11:05:18
表示当前的系统的时间
up 8 days,17:12
表示该机器已经启动了多长时间
1 user
表示当前系统中只有一个用户
load average: 0.29,0.2 ...