Linux-vim编辑器

Posted poppy-s

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux-vim编辑器相关的知识,希望对你有一定的参考价值。

@toc

文本编辑器-vim

三种模式

命令模式:Normal(默认模式,可移动光标,剪切/粘贴文本)  
插入模式:Insert(修改文本)  
命令模式:Extended command(保存,退出等)
技术图片

1.vim [option] file

[OPTION]
    +NUM    `打开后跳到NUM行`
    +/PATTERN   `跳到PATTERN匹配到的行`
    -b file     `二进制打开`
    -d file1 file2  `比较文件`
    -m file     `只读打开`
    -e file     `ex模式`
说明:  
如果file存在,则file被打开并显示内容  
如果file不存在,在编辑后覅一次wq时新建file

2.命令模式

1.命令模式_光标跳转

字符间
| 命令 | 用途 |
|--|--|
| [NUM] h | 向左NUM个字符 |
| [NUM] l | 向右NUM个字符 |
| [NUM] j | 向下NUM个字符 |
| [NUM] k | 向上NUM个字符 |

单词间
| 命令 | 用途 |
|--|--|
| [NUM] w | 向下NUM个单词 |
| [NUM] e | 当前或下NUM个单词词尾 |
| [NUM] b | 当前或上NUM个单词词首 |
页面
| 命令 | 用途 |
|--|--|
| H | 页首 |
| M | 页中 |
| L | 页底 |
| zt | 当前行移到顶 |
| zz | 当前行移到中 |
| zb | 当前行移到底 |
行间、句间、段落间
| 命令 | 用途 |
|--|--|
| ^ | 行首(非空) |
| 0 | 行首 |
| $ | 行尾 |
| NUM G | 跳到NUM行 |
| G | 尾行 |
| gg | 首行 |
| ( | 上一句 |
| ) | 下一句 |
| | 上一段 |
| | 下一段 |
vim中翻屏快捷键
ctrl+f:向下一屏
ctrl+b:向上一屏
ctrl+d:向下半屏
ctrl+u:向上半屏

2.命令模式-字符操作

命令 用途
[NUM] x 删除当前NUM个字符
p 粘贴x删除的字符
~ 大小写转换
gu 变小写
gU 变大写
J 删除当前行的换行符
r 替换当前字符
R 替换模式

删除命令
| 命令 | 用途 |
|--|--|
| [NUM] d | 删除命令(结合以下命令使用) |
| d$或D | 删到尾 |
| d0 | 删到头 |
| d^ | 删到头(非空) |
| dw | 删除当前字符 |
| de | 后删单词 |
| db | 前删单词 |
| [NUM] dd | 删除NUM行 |
复制命令
| 命令 | 用途 |
|--|--|
| [NUM] y | 复制命令(结合以下命令使用) |
| y$ | 复制到尾 |
| y0 | 复制到头 |
| y^ | 复制到头(非空) |
| yw | 复制当前字符 |
| ye | 复制后单词 |
| yb | 复制前单词 |
| [NUM] yy | 复制NUM行 |
粘贴命令
| 命令 | 用途 |
|--|--|
| p | 往后粘贴 |
| P | 往前粘贴 |
改变命令
| 命令 | 用途 |
|--|--|
| c | 修改进入插入模式(同下) |
| c$或c | 删到尾 |
| c0 | 删到头 |
| c^ | 删到头(非空) |
| cw | 删除当前字符 |
| ce | 删除后单词 |
| cb | 删除前单词 |
| [NUM] cc | 删除NUM行 |
查找命令
| 命令 | 用途 |
|--|--|
| /PATTERN | 向下查找 |
| ?PATHERN | 向上查找 |
| n | 查找方向(对查找结果而言)|
| N | 查找反向(对查找结果而言)|
撤销更改
| 命令 | 用途 |
|--|--|
| [NUM] u | 撤销NUM次 |
| U | 撤销行的所有改变 |
| ctrl+r | 重做 |
| [NUM] . | 重复前一个NUM个操作 |

3.vim的寄存器

vim一共有26个全名寄存器和1个无名寄存器
| 命令 | 用途 |
|--|--|
| 1"syy | 复制1行到s寄存器 |
| "sp | 粘贴s寄存器里的内容 |

4.标记、宏

命令 用途
ma-z 将当前位置标记为a,可以标记26个a-z
‘a 跳转到标记a
qa 录制宏a
q 停止录制
@a 执行洪a
@@ 重新执行上次的宏

3.扩展命令模式

1.关闭文件

命令 用途
:q 退出
:q! 强制退出
:wq 保存退出
:x 保存退出
ZZ 保存退出
ZQ 不保存退出

2.命令操作

命令 用途
:w 写(存)磁盘文件
:r file 读文件到当前文件中
:w file 将当前文件写到另一个文件中
:!command 执行命令
:r!command 把命令的结果写入当前文件

3.地址定界

地址定界+command
| 命令 | 用途 |
|--|--|
| :NUM | 跳转到NUM行 |
| :NUM,+NUM | 如:2,+3表示2,5行 |
| :. | 当前行 |
| :$ | 最后行 |
| :% | 全文 |
| /STR1/,/STR2/ | 从匹配到STR1到STR2 |
| NUM,/STR/ | 从第NUM行到STR匹配行 |
| /STR/,$ | 从STR匹配行到结束 |
command
| 命令 | 用途 |
|--|--|
| w file | 选中范围保存到文件file |
| r file | 选中范围保存到指定file |
示例

1.:1,3d
2.:/string1/,/string2/y
3.:/string1/,$r /data/file1

4.查找并替换

格式: s/要查的内容/要替换的内容/修饰符
要替换的内容: 1. 可以使用\1,\2括号引用。2. 可以使用&引用前面查找到的整个内容
修饰符
| 命令 | 用途 |
|--|--|
| I | 忽略大小写 |
| g | 每行替换1次 |
| gc | 全部替换 |
分隔符可以使用

1. s/string1/string2/g
2. s@string1@string2@gc
3. s#string1#string2#i

5.编辑二进制文件

1. vim -b binary_FILE
2. 命令模式下:
        :%!xxd      十六进制
        :%!xxd-r    二进制

4.可视化模式

命令模式下
| 命令 | 用途 |
|--|--|
| v | 字符 |
| V | 行 |
| ctrl+v | 块 |

5.多文件模式

vim file1 file2 file3
命令模式下
| 命令 | 用途 |
|--|--|
| :next | 下一个 |
| :prev | 上一个 |
| :first | 第一个 |
| :last1 | 最后一个 |
| :wall | 保存所有 |
| :qwall | 退出所有 |
| :wqull | 保存并退出所有 |
使用多窗口

vim -o file1 file2(水平分割)
vim -O file1 file2(垂直分割)
命令 用途
Ctrl+w,w 窗口间切换
Ctrl+w,s 水平分割
Ctrl+w,v 垂直分割
Ctrl+w,q 取消相邻窗口
Ctrl+w,o 取消所有窗口

6.定制vim的工作特性

1.配置文件

全局:/etc/vimrc
个人:~/.vimrc

2.扩展模式(临时有效)

命令 用途
set [no]nu 不显示行号
set [no]ic 不忽略大小写
set [no]ai 不自动缩进
set [no]paste 不复制保留格式
set [no]si 不智能缩进
set [no]search 不高亮搜索
set [off]on 关闭语法高亮
set ff=dos unix
set textwidith=65,set wrapmargin=15 设置文本宽度
set [no]cul 不显示光标所在标识线
set [no]list 不显示tab和换行符

7.vim键盘图

技术图片

以上是关于Linux-vim编辑器的主要内容,如果未能解决你的问题,请参考以下文章

linux-vim编辑器

linux-vim编辑器

Linux-vim编辑器

linux-vim/编辑器

Linux-vim与ssh客户端

Linux-vim文件编辑命令小技巧