9月8日笔记

dpkg 学习

安装mysql  apt-get install mysql-server-5.6

apt-get install -y mysql-server-5.7

ubuntu里面不可以用yum 用的话需要配置很多东西  apt比yum方便很多

ctrl + c 结束前面命令

clear 清屏

软件包的管理命令

ls -l

ls -a 以.开头的文件 是隐藏文件

ls -la ./mongodb当前目录下的mongodb文件

ll  在centos下不可以用这个命令 ubuntu里面可以使用

ls -l

chmod 774 0812/ 修改权限方式 二进制执行 二进制表示 chmod 771 0812/

-rw-r--r-- 第一个-代表普通文件

1 x 执行权限 二进制 001

2 w 写权限 二进制 010

4 r 读权限 二进制 100

mkdir 创建目录

创建递归空文件  1里面2 2里面3 3里面4

mkdir -p 1/2/3/4

ls

ls 1

ls 1/2/3/4

ls -l 1

drwxr-xr-x

将1文件里面的权限改成一样

chmod -R 000 参数-R 递归修改权限

chmod -R 000 1/这样改

mkdir monkey

cp -r 1 monkey

cp 1 monkey

touch 1.txt创建新文件

cp 1.txt

ls

cd ..

ls

mv 1.txt 2.txt把1.txt重新命名为2.txt

ls

cp 2.txt ./1.txt 将2.txt 复制到当前目录下

ls

mv 2.txt 1/

需要通过终端创建空日志的时候 使用touch命令

man查询命令

ctrl + d 删除

mkdir 2016-{1..12}--{1..31} 创建每一天的文件  批量文件创建

亚马逊开发大会

vim -v :q退出

linux强大的命令

rm -rf删除所有文件 不做提示递归删除里面所有文件

rm -r 文件名 删除

rm -rf *

不可以在项目根目录下执行

rm -rf *

rm -rf ./当前目录

rm -rf ../上一级目录

这三个命令不能执行 除非不想混了

:代表可以执行外部指令

:set nu 显示外部行号

vim必须学会使用

cat

nodejs官网

1. dpkg整理用法

2. 安装node.js

3. linux 命令使用

4. vim 使用

5. 整理markdown的笔记

1. dpkg用法

dpkg是一个Debian的一个命令行工具,它可以用来安装、删除、构建和管理Debian的软件包。

下面是它的一些命令解释:

1)安装软件

命令行:dpkg -i <.deb file name>

示例:dpkg -i avg71flm_r28-1_i386.deb

2)安装一个目录下面所有的软件包

命令行:dpkg -R

示例:dpkg -R /usr/local/src

3)释放软件包,但是不进行配置

命令行:dpkg –unpack package_file 如果和-R一起使用,参数可以是一个目录

示例:dpkg –unpack avg71flm_r28-1_i386.deb

4)重新配置和释放软件包

命令行:dpkg –configure package_file

如果和-a一起使用,将配置所有没有配置的软件包

示例:dpkg –configure avg71flm_r28-1_i386.deb

5)删除软件包(保留其配置信息)

命令行:dpkg -r

示例:dpkg -r avg71flm

6)替代软件包的信息

命令行:dpkg –update-avail

7)合并软件包信息

dpkg –merge-avail

8)从软件包里面读取软件的信息

命令行:dpkg -A package_file

9)删除一个包(包括配置信息)

命令行:dpkg -P

10)丢失所有的Uninstall的软件包信息

命令行:dpkg –forget-old-unavail

11)删除软件包的Avaliable信息

命令行:dpkg –clear-avail

12)查找只有部分安装的软件包信息

命令行:dpkg -C

13)比较同一个包的不同版本之间的差别

命令行:dpkg –compare-versions ver1 op ver2

14)显示帮助信息

命令行:dpkg –help

15)显示dpkg的Licence

命令行:dpkg –licence (or) dpkg –license

16)显示dpkg的版本号

命令行:dpkg –version

17)建立一个deb文件

命令行:dpkg -b direc×y [filename]

18)显示一个Deb文件的目录

命令行:dpkg -c filename

19)显示一个Deb的说明

命令行:dpkg -I filename [control-file]

20)搜索Deb包

命令行:dpkg -l package-name-pattern

示例:dpkg -I vim

21)显示所有已经安装的Deb包,同时显示版本号以及简短说明

命令行:dpkg -l

22)报告指定包的状态信息

命令行:dpkg -s package-name

示例:dpkg -s ssh

23)显示一个包安装到系统里面的文件目录信息

命令行:dpkg -L package-Name

示例:dpkg -L apache2

24)搜索指定包里面的文件(模糊查询)

命令行:dpkg -S filename-search-pattern

25)显示包的具体信息

命令行:dpkg -p package-name

示例:dpkg -p cacti

最后:

1、很多人抱怨用了Ubuntu或者Debian以后,不知道自己的软件给安装到什么地方了。其实可以用上面的dpkg -L命令来方便的查找。看来基础还是非常重要的,图形界面并不能够包办一切。

2、有的时候,用“新力得”下载完成以后,没有配置,系统会提示用“dpkg –configure -all”来配置,具体为什么也可以从上面看到。

3、现在Edgy里面可以看到Deb的信息。不过是在没有安装的时候(当然也可以重新打开那个包),可以看到Deb的文件路径。

4、如果想暂时删除程序以后再安装,第5项还是比较实用的,毕竟在Linux下面配置一个软件也并非容易。


VIM用法

Vim是Unix系统上的文本编辑软件(你该不会不知道什么是文本编辑软件吧!),在windows上也有移植的版本,方便了Windows上的用户。Vim的文本编辑功能非常强大,强大的有些让人吃惊!并且非常稳定,你的文档不用经常存盘,它不会出现类似于“***程序内部错误!”等等现象,***程序曾经让我欲哭无泪啊!

开始使用Vim吧!

启动:在命令提示符后输入vim,然后回车,就启动了vim,然后进入vim的界面。如果在命令提示符后输入vim ### 并回车,则表示希望编辑###这个文件,例如vim .xinitrc,则编辑.xinitrc这个文件,如果这个文件不存在,则表示新建这个文件并编辑。好了,你赶快试试吧,然后我将告诉你如何输入一些文本。

vim的工作模式

别着急,要想输入文本,要先熟悉一下Vim的工作模式。(我第一次就是在输入了vim后,就开始劈里啪啦的输入,可是怎么没反映啊!?)

vim的工作模式有三种,分别是正常(Normal)模式、插入(insert)模式和可视(visual)模式。这就是说Vim在不同的模式下工作的表现形式是不同的。在进入vim后,默认的模式是Normal模式,这时可以输入一些命令,不过别急,咱们先输入一些文本看看。在Normal模式下,单击i或者a,则进入insert模式,这时你可以输入了。为了后面的学习,你多输入些内容。输入结束后,单击Esc键,回到Normal模式,然后输入:w filename,如果你启动vim时已经包含文件名,输入:w(注意包括冒号),则将文件存盘。

OK,恭喜你!你现在已经能够启动vim,输入内容并存盘了。

下面我们我们简单介绍一下模式的内容。

前面说过,vim在不同的模式下有不同的工作方式,例如输入文本内容在insert模式下,其他进行修改、删除、拷贝、粘贴等在Normal模式下。因此当你发现输入错误想修改时必须切换到Normal模式下进行,是不是很麻烦啊!我当初也是这样认为的,但是你一旦习惯后,你就会觉得它的好处了!切换到Normal模式就是单击Esc键,vim的屏幕下面有当前工作模式的提示。进入输入文本的insert模式是输入i或者a。i和a这俩个指令的区别就是i代表在光标前插入字符,a代表在光标后插入字符,就是这么简单,OK,如何用就看你的了!

编辑文本

进行文本编辑,应该是Unix初学者最开始碰到的问题。Unix下的默认配置文件经常要修改的啊!所以掌握编辑方法是非常重要的。并且本文的目的就是让初学者掌握简单而又实用的编辑、修改命令。至于其他的高级使用方法,可以参考其他书籍!

OK,咱们就开始学习吧!

移动光标是最基本的,下面都是移动光标的命令,看看那个好记,就记住吧。

在Noraml模式下,键盘上的h、j、k、l 分别代表左、下、上、右移动光标。OK,在你刚才编辑的文档中试试移动光标,爽吧!再也不用移动手指到那4个方向键了!

什么?你说这4个键一次只能移动一个字符和一行,太慢了!OK,下面几个快速移动光标的方法你有精力就记住吧!

一次移动一个字(word)

w和b指令一次分别向后/向前移动一个字。

注:(1)可以用数字来进行移动多个Word,例如3w,2b就是分别向右(向后)移动3个word, 和2个word。

(2)中文因为是连在一起的,所以如果没有空格或者数字、英文标点的话,将视为一个word。

移动到一行的头和尾

^ :行头 $ :行尾

注:行尾$,可以用3$移动到下面第3行尾,行首^ 不支持数字。

如何跳到指定行?

nG

注:(1)n表示第n行,例如10G,则跳到第10行,且光标在行首。

(2)如果没有n,只有G,则跳到最后一行,且光标在行首。

我想用G命令,但是如何知道第几行?OK,在Normal模式下输入:set number就可以显示行号了,如果想关闭行号,则输入:set nonumber。

好了,移来移去,来点别的吧,例如如何修改,复制。OK,GO!

先来看看如何进行修改吧。Word和其他的一些文本编辑器都是编辑和输入混杂在一起的,输入的同时就可以修改。而Vim的这些编辑指令必须在Normal模式下,切记!

修改命令

删除:

在word等编辑器下,如果输入错了,我们可以用Delete和Backspace键删除,然后再重新输入,vim也可以这样,x就是删除光标所在处的字符(char),dw就是删除一个字(word),然后在输入i或者a进行新内容的输入。

删除整行如何操作?dd就可以删除光标所在行。

那删除光标所在处到本行的结尾呢?D或者d$就可以了。还记得$吗?代表什么来着?

删除结束还要在输入i 或者a 才能输入真麻烦!有没有删除后就进入inster模式的指令呢?当然有,就是关于c的指令,cw是删除一个Word,cc删除整行,c$和C都是删除光标所在处到本行的结尾。你可能已经明白了,其实c的指令是修改指令。

好了,你是否已经把内容删干净了,没有可以编辑的内容了呢?呵呵,没关系,u指令可以让你恢复删除的内容。在Normal模式下,输入u,就恢复了,重复输入u就把整个内容都恢复了,u就是其他文本编辑器里的Undo的指令,对应的Redo指令就是[Ctrl]r。需要注意的是在不同模式下,u 的含义是不同的。如果在instert模式下输入然后在Normal模式下执行u,则会删除上一次输入的所有内容。如果是在 Normal 模式下执行其他的指令例如x,然后再执行u,就恢复一次 Normal 下的指令。Redo也一样。

OK,让我们来学习更加重要的功能吧!

剪切、复制、粘贴等相关

剪切、复制等这些指令都是同块(block)相关的操作,因此无论如何都要先了解一下块的基本知识。vim里用mark来定义一个标记,然后用y指令把指定的内容进行复制到缓存中,然后用p来粘贴。!@#¥%^&,天啊,太复杂了。没关系,咱们用个例子来说明吧,很简单的!

例如下面的文本:

this is the first line

this is 2nd line

我们可以先把光标移动到第一行的行首,然后切换到Normal模式(还记得如何切换吗?),输入ma(表示标记a),然后移动光标到第2行的2nd处,输入y`a(表示把标记a到光标所在处复制到缓存中),然后移动光标到你希望粘贴的地方输入p(表示粘贴)。OK你已经完成了最基本的复制、粘贴功能。

下面我们看看这几个命令(m,y,p)的情况。

m指令。m指令非常简单,他就是做标记,你可以做从a到z的26个标记例如ma,mb,mc等。他在很多指令中会用到,例如删除,这本入门就不介绍了,你可以参考其他书籍。

y指令表示yank,其实就是拷贝。不过他有其他的指令形式,例如yy复制整行。

p指令就是粘贴。例如上面的例子。

OK,既然你知道了yy指令,那希望复制一行并粘贴的话,我想你应该知道如何操作了吧(yy,p)。

也许你用m做标记感觉不是很舒服,OK,我们来个可视的块的选择方法。那就是v指令。

记得在其他的文本编辑器里我们可以用鼠标选择一些文本,然后copy,paste,在vim里一样可以,当然希望用鼠标最好用gvim。现在来试试v的指令吧。

在Normal模式下,输入v(看到屏幕下面的visual模式提示了吗?),然后移动光标,看到被选择的内容了吧

。选择好了,你可以输入d把他们删除,也可以输入y将他们复制到缓存中,然后用p来粘贴到你希望的地方。什么多次粘贴,多按几次p就可以了,也可以输入#p,#代表连续粘贴的次数,例如粘贴100次,就输入100p。

OK,我想你一定喜欢上v命令了,还有V和[CTRL]v呢!V(大写)是表示可视行,就是代表你移动光标时,选择的范围是行,不像小写的v是一个字符。另外[CTRL]v是选择方块,你可以试试,就清楚了!

好了,基本的东西就这些了,当然还有几个也不错的命令东东,很简单,它能高效的配合你上面的基本工作,那还犹豫什么!开始吧!

连接行

你在编辑的时候,一定会碰见希望把两行或者多行合并成一行的情况。好,vim已经给你设计好了,就是J指令,注意是大写(j是什么?)。J表示将光标所在行和下一行合并成一行,如何合并多行,可以输入#J,#代表希望合并的行数,例如3J。

插入新行

怎么插入新行?用o或者O指令(不是零)。o是在当前行下插入新行,大写O是在当前行上插入新行。真是简单,而且直接进入instert模式,不错,设计的很贴心。

如何在一行内查找一个字符(或者一个中文单字)?

使用fx,Fx,tx,Tx指令。其中x代表欲查询的字符。他们的区别是:fx(向右)查x,且光标停在x上,Fx(向左)查x,且光标停在x上,tx(向右)查x, 且光标停在x前,Tx(向左)查x, 且光标停在x后。

如何查找字符串?

使用/xxxxx。其中×××××为需查找的内容。当查到多个内容时,可以输入n来将光标定位到下一个位置。此外查找命令有历史记录功能,可以输入/,然后用光标上、下键来切换已经查过的内容。要注意的是几个特殊的字符必须在前面加。这几个字符为:.*[]^%/?~$。如果想往回查找,则输入?,改变查找顺序,再输入n来进行定位。当然也可以用N来反向查找。

如何翻页(半页)?

使用[ctrl]u和[ctrl]d。其中^u为向上翻半页,^d为向下翻半页。

如何插入一些特殊的字符,例如:∮等?

使用:digraphs来显示特殊字符的列表,然后输入CTRL+K+显示出来的2个字符来输入特殊字符,例如输入CTRL+K+I+o,则为∮。

哦!忘记了告诉你如何退出vim!

在Normal模式下,输入ZZ就可以保存文档并退出。

在Noraml模式下,输入:q!可以强制退出,就是不保留修改退出。

好了,享受Vim吧!

--------------------------------------------------------------------------------------------------------

1、vi的基本概念

基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

1) 命令行模式command mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

2) 插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

3) 底行模式(last line mode)

将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。

2、vi的基本操作

a) 进入vi

在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:

$ vi myfile

不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!

b) 切换至插入模式(Insert mode)编辑文件

在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

c) Insert 的切换

您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。

d) 退出vi及保存文件

在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:

: w filename (输入 「w filename」将文章以指定的文件名filename保存)

: wq (输入「wq」,存盘并退出vi)

: q! (输入q!, 不存盘强制退出vi)

3、命令行模式(command mode)功能键

1). 插入模式

按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;

按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

2). 从插入模式切换为命令行模式

按「ESC」键。

3). 移动光标

vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

按「ctrl」+「b」:屏幕往“后”移动一页。

按「ctrl」+「f」:屏幕往“前”移动一页。

按「ctrl」+「u」:屏幕往“后”移动半页。

按「ctrl」+「d」:屏幕往“前”移动半页。

按数字「0」:移到文章的开头。

按「G」:移动到文章的最后。

按「$」:移动到光标所在行的“行尾”。

按「^」:移动到光标所在行的“行首”

按「w」:光标跳到下个字的开头

按「e」:光标跳到下个字的字尾

按「b」:光标回到上个字的开头

按「#l」:光标移到该行的第#个位置,如:5l,56l。

4). 删除文字

「x」:每按一次,删除光标所在位置的“后面”一个字符。

「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。

「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。

「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。

「dd」:删除光标所在行。

「#dd」:从光标所在行开始删除#行

5). 复制

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

「#yw」:复制#个字到缓冲区

「yy」:复制光标所在行到缓冲区。

「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。

「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

6). 替换

「r」:替换光标所在处的字符。

「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

7). 回复上一次操作

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。

8). 更改

「cw」:更改光标所在处的字到字尾处

「c#w」:例如,「c3w」表示更改3个字

9). 跳至指定的行

「ctrl」+「g」列出光标所在行的行号。

「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

4、Last line mode下命令简介

在使用「last line mode」之前,请记住先按「ESC」键确定您已经处于「command mode」下后,再按「:」冒号即可进入「last line mode」。

A) 列出行号

「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。

B) 跳到文件中的某一行

「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

C) 查找字符

「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。

「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

D) 保存文件

「w」:在冒号输入字母「w」就可以将文件保存起来。

E) 离开vi

「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vi。

「qw」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

5、vi命令列表

1、下表列出命令模式下的一些键的功能:

h

左移光标一个字符

l

右移光标一个字符

k

光标上移一行

j

光标下移一行

^

光标移动至行首

0

数字“0”,光标移至文章的开头

G

光标移至文章的最后

$

光标移动至行尾

Ctrl+f

向前翻屏

Ctrl+b

向后翻屏

Ctrl+d

向前翻半屏

Ctrl+u

向后翻半屏

i

在光标位置前插入字符

a

在光标所在位置的后一个字符开始增加

o

插入新的一行,从行首开始输入

ESC

从输入状态退至命令状态

x

删除光标后面的字符

#x

删除光标后的#个字符

X

(大写X),删除光标前面的字符

#X

删除光标前面的#个字符

dd

删除光标所在的行

#dd

删除从光标所在行数的#行

yw

复制光标所在位置的一个字

#yw

复制光标所在位置的#个字

yy

复制光标所在位置的一行

#yy

复制从光标所在行数的#行

p

粘贴

u

取消操作

cw

更改光标所在位置的一个字

#cw

更改光标所在位置的#个字

2、下表列出行命令模式下的一些指令

w filename

储存正在编辑的文件为filename

wq filename

储存正在编辑的文件为filename,并退出vi

q!

放弃所有修改,退出vi

set nu

显示行号

/或?

查找,在/后输入要查找的内容

n

与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止。

对于第一次用vi,有几点注意要提醒一下:

1、用vi打开文件后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。切换方法:在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

2、编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按「ESC」键。

3、保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)

----------------------------------------------------------------------------

(h,j,k,l,w,b等等)或者是指行号.

#             (这里#代表一个数字)

执行n次后面的命令...

:             进入ex模式

)             下一句

(             上一句

}             下一段

{             上一段

]]            下一节

[[            上一节

0             行的开头

$             行的末尾

^             行的第一个非空白字符

+             下一行的开头

-             上一行的开头

(空格)        下一个字符

(回车)        下一行

/             向前搜索

?             向后搜索

%             查找当前小(中,大)括号的匹配字符

,             逆向重复上一个f,F,t或T操作

;             重复上一个f,F,t或T操作

.             重复上一个操作

`             转到标记处

'             转到标记所在行的开头

``            查找前回到上一个做标记的地方

''            查找前回到上一个做标记所在行的开头

~             切换字符的大小写

"             保存到寄存器中

!!            重复上一次SHELL命令

!             把后面的文本送给命令, 取代输出(例如,

!}fmt把当前的段落

送给命令fmt处理,然后用fmt返回的东西替换输出.)

>>            右移当前段落一个移动宽度(shiftwidth)

<<            左移当前段落一个移动宽度(shiftwidth)

>%

从当前到匹配小(中,大)括号之间的文本右移

<%

从当前到匹配小(中,大)括号之间的文本左移

(似乎漏了一个符号|, 移动到某一列----译注)

a             在当前位置之后添加

A             在当前行的末尾添加

^a            没有使用

b             上一个单词的开头

B             上一个单词的开头,忽略标点符号

^b            上移一屏

c             覆盖...

C             覆盖到行末尾

^c            终止插入模式,在命令模式没有用

d             删除...

D             删除到行末尾

^d

下移半屏,如果在插入模式下则移到上一个移动宽度(ShiftT-ab)处

e             单词的末尾

E             单词的末尾,忽略标点符号

^e            屏幕下卷一行

f             查找...

F             向后查找...

^f            下移一屏

g             未用

G             ...跳至[缺省是到文件末尾]

^g            显示状态栏

h             左移

H             屏幕上的第一行

^h            在插入模式下是退格,命令模式下是左移

i             在当前的位置前面插入

I             在本行的第一个非空白字符前面插入

^i            插入模式下是制表键,命令模式下未用

j             下移

J             把下一行合并到本行

^j

命令模式下是下移,插入模式下是建一个新行

k             上移

K             未用

^k            未用

l             右移

L             屏幕中的最后一行

^l            重绘屏幕

m             把当前位置标记到寄存器中

M             屏幕的中间行

^m            回车

n             重复上次查找

N             逆向重复上次查找

^n            命令模式下是下移

o             在当前行的下面建一个新行

O             在当前行的上面建一个新行

^o            未用

p             在当前行的下面粘贴

(译注--应为在当前位置的后面粘贴)

P             在当前行的上面粘贴

(译注--应为在当前位置的前面粘贴)

^p            命令模式下是上移

q             未用

Q             退出并且启动ex

^q            未用

r             覆盖当前的字符

R             在插入模式下一直覆盖字符

^r            在命令模式下面重绘屏幕

s             替换

S             替换整行

t             到...

T             向后到...

^t            移到下一个移动宽度(shifttab)处

u             撤消上一次操作

U             撤消对本行的所有修改

^u            上移半屏

v             未用

V             未用

^v            未用

w             下一个单词的开头

W             下一个单词的开头,忽略标点符号

^w

命令模式下未用,在插入模式下是到上一个单词的开头处

x             删除当前字符

X             删除前一个字符

^x            未用

y             复制...

Y             复制整行

^y            屏幕上卷一行

z             重新配置当前行周围的屏幕

ZZ            保存之后退出

^z            未用

(译注--在命令模式下,^z执行了UNIX暂停操作)

6.1 - 命令模式的输入选项(:命令)

(注: 这不是一个规范的列表,,

我只是列出了一些最重要的命令)

:r <文件>     把<文件>读入到当前文档

:r !<命令>    把<命令>的输出插入到当前文本中

:nr <文件>    把<文件>插入到第n行

:!<命令>      运行<命令>,然后返回

:sh           转到SHELL

:so <文件>    读取<文件>,再执行文件里面的命令

(译注--文件中的命令应该都是一些ex命令)

:x            保存之后退出

:wq           保存之后退出

:l1,l2w

<文件>把第l1和第l2行之间的文本写到<文件>中去,如果没-有指定<文件>,

vi就假定是当前文件,如果没有指定l1,l2,就假定是整个文-件(就成了:w)

:w >> <文件> 添加到<文件>末尾. 也可以使用行号

:w!           覆盖当前文件

:q            退出

:q!           不存盘就退出

:e <文件>     不离开vi编辑<文件>

:e!           重新编辑当前文件,忽略所有的修改

:n            编辑下一个文件

:e +n <文件>

从第n行开始编辑<文件>,如果超过了末尾,就从末尾开始编辑

:e#

编辑替换文件(如果使用了命令:e<文件>,替换文件就指的是原-始文件)

:args         显示所有要编辑的文件

:rew          重新回到第一个编辑的文档

:map m n      创建一个宏(使 m 做 n)

:map! m n     创建一个插入模式的宏(使 m 做 n)

:unmap m      删除宏m

:unmap! m     删除插入模式的宏m

:ab <1> <2>   缩写,敲<1>的时候用<2>取代

:unab <1>     取消缩写<1>

:set <选项>   设置<选项>...

6.2 - 设置选项(set)

可以使用括号中的缩写形式. 语法:

:set <选项> <参数> (如果需要参数的话)

也可以在一行中指定多个选项

:set <选项>? 显示出当前这个选项的参数值

:set all 则显示所有的选项值

对那些无须参数的选项来说,使用:set

no<选项>就可以把它给关了

选项:                 缺省值:         含义:

autoindent (ai)       noai

使新行自动缩进,和上(下)行的位置对齐

autoprint (ap)        ap

每条命令之后都显示出修改之处

autowrite (aw)        noaw

在:n,:!命令之前都自动保存文件

beautify (bf)         nobf

在输入的时候忽略所有的控制字符

(除了制表键(tab),换行(newline),进纸(for-mfeed))

directory= (dir=)     /tmp            存放缓冲区的目录名

edcompatible          noedcompatible

在替换的时候使用类ed的用法

errorbells (eb)       errorbells      出错的时候响铃

exrc (ex)             noexrc

允许在主目录(home)外面之外放.exrc文件

hardtabs= (ht=)       8               设置硬制表的边界

ignore case (ic)      noic            正规式里忽略大小写

lisp                  nolisp          打开lisp模式

list                  nolist

显示所有的制表键和行的结尾

magic                 magic

可以使用更多的正规表达式

mesg                  mesg            允许向终端发送消息

number (nu)           nonumber        显示行号

open                  open            允许开放和可视化

optimize (opt)        optimize

优化吞吐量,打印时不发回车

paragraphs= (para=)   IPLPPPQPPLIbp   设置{ & }的分界符

prompt                prompt

命令模式下的输入给出:的提示符

readonly (ro)         noro

除非用!号否则不准保存文件

redraw                noredraw        当编辑的时候重绘屏幕

remap                 remap           允许宏指向其他的宏

report=               5

如果影响的行数>这个数的话就报告

scroll                1/2 window

下卷屏幕时滚动屏幕的数目,

同样这也是z命令输出的行数(z 输出2倍滚屏的大小)

sections=             SHNHH HU

定义节的末尾(当使用命令[[ 和 ]] 时)

shell= (sh=)          /bin/sh

缺省的SHELL,如果设置了环境变量SHELL的话,就使用变-量

shiftwidth= (sw=)     8

当使用移动(shift)命令时移动的字符数

showmatch (sm)        nosm            显示{, }, (, ), [, 或者 ]

的匹配情况

showmode              noshowmode

显示你处在什么模式下面

slowopen (slow)

插入之后不要立刻更新显示

tabstop= (ts=)        8

设置制表停止位(tabstop)的长度

taglength= (tl=)      0

重要标记的字符个数(0表示所有的字符)

tags=                 tag, /usr/lib/tags

定义包含标记的文件路径

term=                                 设置终端类型

terse                 noterse         显示简短的错误信息

timeout (to)          timeout         一秒钟后键盘映射超时

ttytype=                              设置终端类型

warn                  warn            显示"No write since last

change"信息

window= (w=)                          可视模式下窗口的行数

wrapmargin= (wm=)     0

右边距,大于0的话最右边的单词将折行,留出n个空白位置

wrapscan (ws)         ws

查找到文件尾后再重头开始

writeany (wa)         nowa

可以保存到任意一个文件去

先编辑/usr/src/sys/i386/conf/GENERIC

#cd /usr/src

#make kernel KERNCONF=GENERIC

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 51,345评论 12 412
  • Vim 中文同步聊天室 以下为 Vim 中文用户聊天室,几个频道消息实时同步,如果想要和其他 Vim 用户一起交流...
    wsdjeg阅读 12,069评论 5 147
  • Vim几句话介绍Vim是Unix系统上的文本编辑软件(你该不会不知道什么是文本编辑软件吧!),在windows上也...
    何必遠方阅读 790评论 0 1
  • 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 启动vim 在命令...
    im蚂蚁阅读 19,654评论 3 41
  • 心灰意冷丶阅读 28评论 1 0