一.Linux文本编辑器

   1.分类:(1)nano    (2)emacs  (3) vi

   2.vim是vi improved,是vi的增强版,功能要比vi强大。

   3.emacs和vi除了支持文本编辑还支持图形化

二.vi的模式

1.vi有三种模式:(1)命令模式    (2)输入模式   (3)末行模式

2.模式之间的转换关系

image

i:光标所在前插入

a:光标所在后插入

o:光标所在行的下一行插入

I:光标所在行的行首插入

A:光标所在行的行尾插入

O:光标所在行的上一行插入

三。vi打开的一些快捷方式

1.vim +3:打开文件是光标直接跳到第三行首

2.vim +/kernel

打开文件时光标咯跳至第一次出现kernel的行的行首

3.vim编辑创建文件时不给文件名,只需在编辑好后末行模式下(:w 文件

名)就可以了。

4.末行模式下

:W表示写入

:w!表示强行写入

:wq写入并退出

:wq!强行写入并退出

:q! 不保存退出

两次按动大写Z也是写入退出。

5.vimtutor vim的指导帮助

 

四.命令行模式下光标的移动

h:左 j:下 k:上 l:右

w:下一单词词首

e:下一单词词尾

b:前一单词词首

注:它们都可以配合数字使用,表示跳动的次数。

( :前句句首

) :下句句首

{ :前段段首

} :下段段首

0和^:都能跳至行首

$:行尾

n(数字)G:跳至第n行

G:最后一行。

cc或C :删除光标所在行并进入插入模式

2cw:删除前两个单词并进入插入模式

3cc:删除3行并进入插入模式

c$:删到行尾,然后进入插入模式

c^:删到行首并进入插入模式

五.末行模式下

:1,20 s/fond/FOND 1-20行中的fond都变成大写

:1,$ 1到最后

:1,$-3 1到倒数第3行

:% 全文匹配

:1,$ s/fond/FOND =:1% s/fond/FOND

全文匹配更改,但都只是更改每行的第一个

:$-100,$ s/^/# 最后100行全部行首加#

:$-10,$ s/^#/[[:space:]] 后10行去#

s///gic

g:全局

i:会略大小写

c:让用户确认

:help window 命令帮助信息

:set all 查看帮助

:set ai 以前次为准自动缩进

:set nu 显示行号

:set ic 忽略大小写

:set ruler 光标位置

:set outwrite 自动存盘

:set backup 生成源文件名加~的备份文件

:set norap 不拆行

注:这些set命令加no就是撤销。

:syntax enable=on 语法着色

:syntax 临时关闭着色

:syntax 长久关闭着色

:set filetype 识别文件类型

:set showmach 括号匹配

 

:split 上下拆分 =Ctrl+w,s

:vsplit 左右拆分 =Ctrl+w,v

窗口互跳都是使用

Ctrl+w,Ctrl+w或Ctrl+w,方向键

窗口关闭

:close

 

六.命令模式下

x:删除单个字符。

dd :删除一行

3dd:删除三行

dw:向后删一个单词

db:向前删一个单词

yy :复制一行

3yy:复制3行

yw:向后 复制一个单词

P是粘贴

  • 复制时复制了整行内容,小写p,粘贴光标所在行的下一行

大写p,粘贴光标所在行的上一行

  • 复制时复制了半行,小写p,粘贴在光标后边

大写p,粘贴在光标前边

.重复上次命令

Ctrl+r 撤销最后一次的撤销

小写v :单词可视模式

大写v :行可视模式

gCtrl+G 显示行信息提示