天天看點

vim文本編輯器

文本編輯器,字處理軟體

1,vi,vim(vi improved)

2,Emacs

vim ,linux   模式化的程式設計器:

    1、輸入模式

    2、指令模式(編輯模式)

    3、末行模式

vim如何打開檔案:

vim FILE 

vim +n FILE  讓光标處在第n行行首

vim +/PATTERN FILE   +/PATTERN   正規表達式過濾字元串本身

不支援兩次打開同一編輯器,否則會報錯。

vim如何關閉檔案:

:wq   儲存退出

:q!  不儲存  退出

:q   沒有輸入内容,直接退出

a   轉換輸入模式,在目前光标處後面

A   目前光标行尾,轉換輸入模式

i   目前光标所在處轉化到輸入模式

I   行首轉換到輸入模式

o   開啟一個新行,在目前光标下一行開啟

O   在目前光标上一行開啟一個新行

Esc鍵編輯模式轉換到輸入模式

:    編輯模式轉換到末行模式

兩下ESC 

光标移動:h  左   j  下    k  上    l 右

w  跳轉到下個單詞詞首   

e  調到前一個單詞詞尾(本單詞光标不在詞尾,跳轉到本單詞詞尾)   

b  調到前一個單詞詞首(本單詞光标不在詞首,跳轉到本單詞詞首)

^  行首第一個非空白字元

0  行首第一個絕對字元

$  行尾

行間跳轉

G    10G   快速跳到第10行

     G     調到檔案底部

:n   末行模式下敲:n  快速跳到第n行

如何時間翻屏:

Ctrl+f    往尾部翻一屏

Ctrl+b    往首部翻一屏

Ctrl+d    往尾部翻半屏

Ctrl+u    往首部翻半屏

編輯操作:

x   删除目前光标所在處的字元    5x  删除目前光标之後5個字元

d   删除指令

dd  删除光标所在行

ndd  删除光标所在行一直向下的n行

dw  

de

db

d^

dG

末行模式也能進行删除:

ADDR1,ADDR2d

:1,8d

:8d

.   表示目前行

$   表示最後一行

.,$-1   目前行到倒數第二行

改寫操作:

c

cc:删除光标所在行,并轉換至輸入模式

ncc:  删除光标所在行,并轉換至輸入模式

c$  删除光标所在位置到行尾 

c0  删除光标所在位置至行首

ncw

ncb

nce

複制操作:

y

yy

nyy

y$,y0

3yw   複制光标後三個字元

粘貼:

小寫p   複制的行,目前光标所在行的下面粘貼

大寫P   複制行,目前光标所在行的上面粘貼

撤銷指令:

u (undo)   撤銷上一次的操作  預設儲存50次操作

U  撤銷緩沖區裡的操作

撤銷上一次的撤消操作:

Ctrl+r

.   重複上一次的操作

r   把上一個字元替換成r後的字元

用法:a

      r A

可視化模式

v小寫   按字元選中

V大寫   按行選中

如何一次打開多個檔案:

vim FILE1 FILE2 FILE3

在多個檔案之間跳轉:

跳轉到第一個  first

跳轉到前一個  prev

跳轉到下一個  next

跳轉到最後一個  last

多一個檔案實作分頁檢視 

上下分頁:

vim -o   檔案名

視窗間切換:Ctrl w arrow

左右分頁:

vim -O

對一個檔案進行視窗拆分:

Ctrl+w,s   水準拆分

Ctrl+w,v   垂直拆分

設定vim的工作特征:

末行模式:set nu     顯示行号

        :set nonu   取消行号顯示

定義縮進:

末行模式:set ai

        :set noai

文法高亮(顔色顯示)

:syntax on

:syntax off

全局配置:

      /etc/vimrc

個人設定:

      ~/.vimrc

搜尋具有特色特征的字元串:

/PATTERN

?PATTERN  從尾部到首部搜尋

查找并替換:

在末行模式下使用s指令來實作

:ADDR1,ADDR2s/PATTERN/string/g全局替換(同一行中的相同内容)i

global:

ignore-case:

s/ab/AR/g

m,n

.,80

.,+20

%s@ftp://instructor.example.com/pub@http://192.168.0.254/yum@g  把ftp替換成hettp

%s@      @     @g   中間@是分隔符   g表示全局替換    %s表示從第一行到最後一行

vimtutor  這裡有vim的教程   可以打開看看

程序 Process: 計算資源的配置設定機關

PID  記憶體結構的組成部分

cpu:32bit   64bit

cell

文本編輯器:

IO密集型:

cpu密集型:

程序狀态:

運作态

就緒态

睡眠态:可中斷睡眠;不可中斷睡眠

停止态:由于外力的作用

僵死态:zombie

init,1

父process--》子process

程序狀态之間怎麼轉換:

pstree  程序樹

persona

security context 

ps指令:

    -e   顯示所有程序(預設不加-e  隻顯示前台程序(前台是那些某個tty相關的程序;背景是跟tty無關))

    -u [USER]  顯示跟使用者相關的程序

     a    所有跟終端相關的程序

     x    表示所有和終端無關的程序

     -f   完全格式的清單

     -F   prints extra information

     -axo  pid,%cpu

ps  aux

   ps  aus | grep sendmail

   ps aus  | wc -l

ps  -eF

ps  -ef

加了中括号的表示這是一個核心線程

ps ax中的STAT

S:處于睡眠  sleeping

s:會話的上司程序  session leader

<:high priority   高優先級

N:low priority   低優先級

l:多線程程序  multithread

+:前台程序組中的程序

D:不可中的的睡眠

S:可中斷的睡眠

R:可以運作   running or runable

T:停止态stopped

Z:僵死态

pgrep:

    -U   跟使用者相關的特定程序

    -G   跟組相關的特定程序

    -v   顯示比對不到的程序   反向過濾

pidof   查找正在運作的程序的程序号

top  

   -d N   延遲

pstree

程序間通信:IPC

     通過信号

     通過共享記憶體

     /proc

信号:

   man 7 singal

   kill -l

mywebserver /etc/mywebserver.conf

1  表示信号

SIGHUP 

HUP  

SIGINT

SIGKILL

SIGCONT

19SIGSTOP   讓對方處于停止态

kill\killall

kill -singal PID  

httpd

killall -signal command

kill 123   預設信号是15

kill -HUP httpd

pkill 

kill 1

kill %1  

如何改變系統的優先級:

      動态優先級:核心會根據動态特征獨立控制的優先級(0-99)  數字越小,優先級越高

      靜态優先級:(100-139)

nice值:-20-19 

啟動系統的nice值0,對應優先級是120

調整一個系統的nice值,有兩種方式:、

1、nice -n N command   剛啟動一個指令的時候

2、renice N PID   調整某個程序的PID

作業控制:

作業的運作方式:

前台運作

背景運作

前台--》背景:停止運作

Ctrl+z

将程序從前台送到背景(讓送往背景并停止了的程序在背景繼續運作):

     bg[%jobnum]

背景送到前台:

     fg[%jobnum]

作業号碼:

    fg %2

jobs 檢視目前程序

COMMAND &

man nohup,tty

nohup COMMAND &

指令或腳本的退出狀态:

0-255

正确:0

失敗:1-255

1

2

7     被系統預留

$?  狀态碼

exit 8   定義退出的錯誤碼是8

exit 0-255

表達式之間的邏輯關系:

!expression

expression1 && expression2

兩者都為真  才真

是以判斷第一個是假,一定是假

這就是短路操作

expression1 || expression2

真 或 假

!0=1

!1=0

繼續閱讀