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

fedora

for  in {1..10}; do
useradd $user
grep "$user" |


 

你可能感兴趣的:(编程,字符串,表达式,如何,编辑器)