/
Linux Programming Tutoring Linux Programming Tutoring

Linux Programming Tutoring - PowerPoint Presentation

calandra-battersby
calandra-battersby . @calandra-battersby
Follow
375 views
Uploaded On 2016-08-08

Linux Programming Tutoring - PPT Presentation

Introduction to Editors for Linux Outline vim 基本指令 自定 vim 設定檔 vimrc vim 進階技巧 emacs 基本指令 emacs 特殊功能 vim Overview 一般模式 vim 預設的模式 ID: 438844

set vim emacs ctrl vim set ctrl emacs http word kill esc vimrc word1 org word2 linux filename mode

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Linux Programming Tutoring" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Linux Programming Tutoring

- Introduction

to Editors

for LinuxSlide2

Outline

vim

基本指令

自定

vim

設定檔

(.vimrc)

vim

進階技巧

emacs

基本指令

emacs

特殊功能Slide3

vim Overview

一般模式

vim

預設的模式

可以移動游標

刪除字元

刪除整行

也可以

複製、貼上

來處理你的文件資料

編輯模式

一般模式中按下

i

, I, o, O, a, A, r, R』

之後進入編輯模式

可編輯文件內容

按下

『Esc』

這個按鍵即可退出編輯模式

指令列命令模式

一般模式中輸入

『 : / ? 』

即可進入此模式

可以

搜尋資料

讀取、存檔、大量取代字元、離開

vi

、顯示行號Slide4

vi

m

Overview

一般模式

編輯模式

指令列模式

i,o,a

(

插入

)

r,R

(取代)

[ESC]

:,/,?

[ESC]Slide5

vim一般模式常用指令(1/2)

h

或 向左方向鍵

(←)

游標向左移動一個字元

j

或 向下方向鍵

(↓)

游標向下移動一個字元

k

或 向上方向鍵

(↑)游標向上移動一個字元

l 或 向右方向鍵(→)游標向右移動一個字元

nh / nj /

nk /nln為數字。

游標向左/下/

上/右移動

n

個字元

n

← / n

/ n

/ n

游標向左

/

/

/

移動

n

個字元

[Ctrl] + [f]

螢幕

向下

移動一頁

[Ctrl] + [b]

螢幕

向上

移動一頁

[Ctrl] + [d]

螢幕

向下

移動半頁

[Ctrl] + [u]

螢幕

向上

移動半頁

n<space>

n

為數字。按下數字後再按空白鍵,游標會向右移動這一行的

n

個字元Slide6

vim一般模式常用指令(2/2)

G

移動到這個檔案的最後一行

nG

n

為數字。移動到這個檔案的第

n

gg

移動到這個檔案的第一行x, X

x 向後刪除一個字元, X

為向前刪除一個字元dd / ndd刪除游標所在的那一 / n 列

yy / nyy

複製游標所在的那一 / n 行

p, Pp 為將已複製的資料在游標下一行貼上,

P 則為貼在游標上一行u

復原前一個動作[Ctrl]+r重做上一個動作

.

重複前一個動作Slide7

vim編輯模式常用指令

i

, I

進入插入模式

(Insert mode)

i

為從目前游標所在處插入I 為在目前所在行的第一個非空白字元處開始插入

a, A進入插入模式(Insert mode):a

為從目前游標所在的下一個字元處開始插入A 為從游標所在行的最後一個字元處開始插入

o, O進入插入模式(Insert mode):o 為在目前游標所在的下一行處插入新的一行O 為在目前游標所在處的上一行插入新的一行

r, R進入取代模式(Replace mode)

:r 只會取代游標所在的那一個字元一次

R會一直取代游標所在的文字,直到按下 ESC 為止[Esc]

退出編輯模式,回到一般模式中Slide8

vim指令列模式常用指令

:w / :w!

將編輯的資料寫入

/

強制寫入硬碟檔案中

:q / :q!

離開

/

強制離開 vi

:wq / :wq!儲存後離開

/ 強制儲存後離開ZZ

若檔案沒有更動,則不儲存離開若檔案已經被更動過,則儲存後離開:! command暫時離開

vi 到指令列模式下執行 command 的顯示結果

:set nu

顯示行號:set nonu

取消行號Slide9

vim搜尋及取代常用指令

/word

向游標之下尋找一個名稱為

word

的字串

?word

向游標之上尋找一個字串名稱為

word

的字串

nn 是英文按鍵。重複前一個搜尋的動作

NN 是英文按鍵。反向進行前一個搜尋動作

:n1,n2s/word1/word2/gn1 與

n2 為數字。在第 n1 與 n2 行之間尋找

word1 這個字串,並將該字串取代為 word2:1,$s/word1/word2/g

從第一行到最後一行尋找 word1 字串,並將該字串取代為 word2

:1,$s/word1/word2/gc同上。但取代前顯示提示字元給使用者確認Slide10

vim 環境設定

使用者

vim

設定檔為

~/.

vimrc

系統之

vim設定檔通常為

/etc/vim/vimrc 或 /etc/vimrc

一般模式下輸入 :set all 可顯示所有設定選項Slide11

vim常用設定

set nu

set

nonu

設定

/

取消 行號

set hlsearch

set nohlsearch設定

/ 取消 high light searchset autoindentset

noautoindent設定 / 取消自動縮排

set backup是否自動儲存備份檔set ruler

顯示右下角的一些狀態列說明syntax onsyntax off

設定

/ 取消 依據程式相關語法顯示不同顏色set bg

=darkset bg=light

可用以顯示不同的顏色色調,預設是 lightSlide12

.vimrc

設定範例

"

這個檔案的雙引號

(")

是註解

set

hlsearch

"

高亮度反白

set autoindent "自動縮排set ruler

"可顯示最後一行的狀態set

showmode "左下角那一行的狀態

set nu

“每行最前面顯示行號set

bg=dark "

顯示不同的底色色調

syntax

on

進行語法檢驗顏色顯示Slide13

vim 的暫存檔(1/2)

vim

會在與被編輯檔案的目錄下,建立一個

.

filename.swp

檔案

vim不正常關閉,下次再開啟時會顯示以下畫面Slide14

vim 的暫存檔(2/2)

[O]pen Read-Only

打開此檔案成為唯讀檔, 可以用在你只是想要查閱該檔案內容並不想要進行編輯行為時

(E)

dit

anyway

:還是用正常的方式打開你要編輯的那個檔案, 並不會載入暫存檔的內容

(R)ecover:載入暫存檔的內容,用在要救回之前未儲存的工作。 不過當你救回來並且儲存離開 vim 後,還是要手動自行刪除那個暫存檔

(D)elete

it:開啟檔案前會先將這個暫存檔刪除(Q)uit:按下 q 就離開

vim ,不會進行任何動作回到命令提示字元。(A)bort

:忽略這個編輯行為,與 quit 非常類似Slide15

vim

多重檔案編輯

:n

編輯下一個檔案

:N

編輯上一個檔案

:files

列出目前這個

vim

的開啟的所有檔案

想要將 A 檔案內的十條消息『移動

』到 B 檔案去,通常要開兩個 vim 視窗來複製, 偏偏每個 vim 都是獨立的,因此並沒有辦法在 A 檔案下達『

nyy 』再跑到 B 檔案去

『 p 』!此時這個多檔案編輯就派上用場了!Slide16

vim

多重視窗編輯

:sp [filename]

開啟一個新視窗,如果有加

filename

, 表示在新視窗開啟一個新檔案,否則表示兩個視窗為同一個檔案內容

[ctrl]+w+ j

[ctrl]+w+↓

按鍵的按法是:先按下

[ctrl] 不放, 再按下 w 後放開所有的按鍵,然後再按下 j (或向下方向鍵

),則游標可移動到下方的視窗[ctrl]+w+ k

[ctrl]+w+↑同上,不過游標移動到上面的視窗:vsp [filename]同sp,差別為視窗左右分割

[ctrl]+w+ h[ctrl]+w+

←游標移動到左方的視窗

[ctrl]+w+ l[ctrl]+w+

→游標移動到右方的視窗[ctrl]+w+ q

結束離開,等同於 :q Slide17

如果

emacs

是在

X

視窗啟動,則會自動開啟一個新視窗,如果不想如此可以下命令時加入

nw

選項:

emacs

快速入門

$emacs –nw

基本指令

C-x C-f

開啟新檔或舊檔C-x C-s

存檔C-x C-w

另存新檔

C-x

C-c

離開

註:

C-x

代表

Control xSlide18

emacs常用指令

C-b

游標向左移動一個字元

C-n

游標向下移動一個字元

C-p

↑游標向上移動一個字元C-f 或

→游標向右移動一個字元C-v

螢幕『向下』

移動一頁M-v螢幕

『向上』移動一頁M-b

游標向左移動一個字(word)

M-f

游標向右移動一個字

(word)

C-a

/ M-a

移動到行首

/

句首

C-e /

M-e

移動到行尾

/

句尾

註:

M-x

代表

META x

若沒

META

鍵通常為

[ESC]

鍵Slide19

emacs常用指令

M-<

移動到檔頭

M->

移動到檔尾

C-d

刪除游標後一個字元

Backspace

刪除游標前一個字元

M-Backspace

刪除游標前一個字

(word)

M-d

刪除游標後一個字

(word)C-k / M-k

刪除從游標所在到行尾

/ 句尾

C-@

C-Space

C-w

先按

C-@

再移動游標後按

C-w

則刪除這範圍內的字

C-u

用來設定數字參數

例如:

C-u 20 C-n

向下移動

20

C-_

C-x u

Undo

C-g

取消某指令Slide20

emacs複製和貼上

C-y

yanking

只要用

kill (C-k, M-k

)

刪除

超過一個字的資料

emacs就會把它存起來

,然後

C-y 可以把它叫出來

。功能跟

Cut & Paste一樣

Kill

delete

不一樣

只有被

kill

掉的東西才能用

yank

吐回來

游標在同一地方不動

連續

kill

掉的資料會被當成一次

kill

掉的

yank

時會一起回來

M-w 

先用

C-Space

C-@

然候把游標移到另一端

M-w

就可以把

mark

point

間的字存到

kill ring

。Slide21

emacs搜尋相關指令

C-s

向後搜尋

C-r

向前搜尋

找到了之後按

C-g

可以取消搜尋,跳回原來的

位置Slide22

emacs視窗相關指令

C-x 2 

水平分割視窗

C-x 3

F2

垂直分割視窗

C-x >

視窗向右捲動

C-x < 

視窗向左捲動

C-x o 

切換至另一視窗

C-x 0

關閉目前視窗

C-x 1 

關閉其他視窗,僅留此視窗

C-x b 

切換

buffer

C-x k

關閉當前

buffer

C-x C-b

列出目前所有編輯中的緩衝區清單Slide23

emacs特殊功能

M-x shell

emacs

中開啟一個

shell

M-!

執行

external shell command

M-x

dired

C-x d

a file managerM-x

tetris俄羅斯方塊M-x

hanoiTowers of Hanoi game

M-x doctor

Emacs psychotherapist

M-x calculator

calculator

M-x calendar

calendar

M-x phases-of-moon

查詢月相

M-x compile

Invokes make

M-x

gdb

Invokes

gdbSlide24

Reference

vim

http://linux.vbird.org/linux_basic/0310vi.php

http://en.wikipedia.org/wiki/Vim_%28text_editor%29

emacs

http://www.gnu.org/software/emacs/tour/

http://en.wikipedia.org/wiki/Emacs

http://www.gnu.org/software/chinese/manual/TUTORIAL.zh

http://shelandy.blogspot.com/2008/01/eamcs.html