linux学习第6天(自习) vim使用

linux学习第6天(自习) vim使用

时间: 20180721


目录

vim

模式切换

退出文件

光标移动

行间移动

vim的编辑命令

vim可视化模式

撤消编辑

翻屏操作

vim中的末行模式

内容定界

查找

查找并替换

窗口属性定义

多文件模式操作

多窗口模式




vim 编辑器

Vi IMprove, vi 的版本

此为一款linux系统里非常流行的文件编辑器软件


vim的三种工作模式


1. 编辑模式 也叫命令模式,键盘操作常被理解为编辑命令

2. 输入模式 在文本文件当中输入内容

3. 末行模式 vim内置的命令行接口,执行vim的内置命令


模式切换

1. ESC 输入模式切换至编辑模式

2. 从编辑模式切换至输入模式 i, a, o, I, A, O, C, R, r

3. 编辑模式切换至末行模式 :


注意: 输入模式不可直接切换至末行模式


退出文件

:q, :q!, :wq, :x, :wq!, :w /path/file

编辑模式保存退出快捷键ZZ


光标移动

字符间移动 h j k l

单词间移动 w e b

行内移动 ^ $ 0

句子间移动 ( ) 

段落间移动 { } 

行间移动

G 1G gg


vim的编辑命令

x 删除光标所在处的字符

d 删除命令,结合光标中转字符使用,删除跳转范围内的字符

w, b, e, $, 0, ^

dd 删除光标所在行

#dd 删除多行

p paste 粘贴 

p 缓冲区如果存的是整行,则粘贴于当前光标所在行的下边,

 否则粘贴至当前光标所在处的后面

P 缓冲区如果存的是整行,则粘贴于当前光标所在行的上方,

 否则粘贴至当前光标所在处的前面

y yank 复制,结合光标跳转字符使用,复制跳转范围内的字符

w, b, e, $, 0, ^

Y 复制行

c change 修改,结合光标跳转字符使用,修改跳转范围内的字符

w, b, e, $, 0, ^

cc C 删除光标所在处的整行而后转为输入模式


vim可视化模式

v 光标走过的字符

V 光标走过的行


note: 经常结合编辑命令使用 d, c, y


撤消编辑

u undo 撤销此前的操作

#u 撤消最近#次的操作


撤消此前的撤消的操作 Ctrl+r


翻屏操作

Ctrl+f 向文件尾部翻一屏

Ctrl+b 向文件首部翻一屏

Ctrl+d 向文件尾部翻半屏

Ctrl+u 向文件首部翻半屏


vim中的末行模式

1. 内容定界 startpos,endpos

# 跳至第#行

#,# 从左侧第#行到右侧第#行结尾

#,+# 从左侧第#行,加上右侧#行表示的行数

. 当前行

$ 最后一行

% 全文,相当于1,$

/pat1/,/pat2/ 从第一次被pat1模式匹配到行开始,一直到第一次被pat2模式匹配

     到的行结束


使用方式: 

后跟一个编辑命令c, d, y 可以直接附加在地址范围后使用

w /path/file 将选定的内容保存至指定的文件中

r /path/file 将指定的文件内容读入到当前所打开的文件

2. 查找

/PATTERN 从当前光标所在处向文件尾部查找

?PATTERN 从当前光标所在处向文件首部查找

n 与命令同方向查找下一个匹配到的文本

N 与命令反方向查找下一个匹配到的文本

3. 查找并替换

s 在模式下完成查找并替换操作

s/查找模式/要替换成的内容/修饰符


查找模式 可以使用正则表达式

要替换成的内容 不能使用模式,仅能使用引用如\1,\2 等后向引用

 还可以使用&引用前面查找时查找到的整个内容

修饰符

i 忽略大小写

g 全局替换,默认情况下一行只替换第一次出现的内容

4. 窗口属性定义

set nu 显示行号

set nonu 取消行号

set ai autoindent 启用自动缩进

set noai 取消自动缩进

set ic 忽略字符的大小写

set noic 不忽略字符的大小写

syntax on|off 语法高亮

set hlsearch|nohlsearch 搜索高亮


Note: 末行模式中的窗口属性定义只对当前vim进程有效,永久有效可修改下面的

配置文件来进行定义 全局 /etc/vimrc 用户~/.vimrc


5.多文件模式(一次打开多个文件)

:next 切换到下一个文件

:previous 切换到上一个

:last 切换到最后一个

:first 切换到第一个

:wqall 保存所有文件并退出


6. 多窗口模式

多文件 一次打开多个文件,并显示在多个窗口里 vim -o a.txt b.txt

-o 水平分割

-O 垂直分割

在窗口间切换Ctrl+w,Arrow(方向键)


单文件

Ctrl+w,s 水平分割 将当前的文件水平分割为两个窗口(便于查看)

Ctrl+w,v 垂直分割 将当前的文件垂直分割为两个窗口


猜你喜欢

转载自blog.51cto.com/winthcloud/2150294