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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容