Linux基础之 Vim

Vim 是Linux/Unix平台的一款使用复杂、功能十分强大、且又非常常用的文本编辑器。它有非常多的快捷键、熟练掌握它们,能极大的提高工作效率。

一,选项

Vim 命令自身便集成很多选项,在打开文件时使用:

选项 用途
+n 打开定位到指定行
+ 打开定位到最后一行
+/pattern 打开定位到第一个匹配到的行
-b 打开二进制文件;:%!xxd 进入编辑模式,%!xxd -r 切换到二进制模式
-m 只读模式打开
-e 直接进入ex模式

二,命令模式

文件打开后默认进入命令模式,此时可用的快捷键以及对应的功能有:

光标移动

快捷键 功能
h j k l 字符间跳转: 5h,5j,5k,5l分别代表向左,下,上,右移动5个字符
w e b 单词间跳转: 下一个单词的词首; 当前或下一个单词的词尾; 当前或上一个单词的词首
H M L 页面间跳转: 当前页首; 当前页中; 当前页尾
zt zz zb 移动光标所在行到: 页首,页中,页尾
0 ^ $ 行内移动: 行首;行首第一个非空白字符;行尾
G nG gg 行间移动: 最后一行; 第n行; 第一行
) ( 句间移动: 下一句; 上一句
} { 段落间移动: 下一段; 上一段

文本剪辑

快捷键 功能
x 剪切当前字符
p P 粘贴到后面/前面
J 删除当前行后的换行符
r 替换
R 替换模式
d 删除,借助定位符(参考光标移动)进行特定删除
y 复制,借助定位符(参考光标移动)进行特定复制
d/y/vi"/(/[/{ 删除/复制/选中符号对里面的内容
d/y/vtw 删除/复制/选中直到下一个指定(此处为w)字符
u 撤销,nu 撤销最近n次操作;ctrl r 取消之前的撤销操作
. 重复,n. 重复上一次操作n次
U 撤销当前行的所有操作
i I o O a A 进入编辑模式
: 扩展模式
ZQ 不保存退出
ZZ 保存退出
  • 备注:
    在命令模式下,vim 同时提供有可视化,寄存器,标记和宏等特性,鉴于本人工作中基本没有用到,在此不做说明,有需要的读者可以自行搜索

三,编辑模式

进入编辑模式后,便可以像其他所有文本编辑器一样,进入内容的插入和修改操作,此种模式下无快捷键可用,编辑完成后可以通过esc或者ctrl c退出进入命令模式

四,扩展模式

保存退出

快捷键 功能
r filename 读入文件的内容
w filename 将当前内容另存到另一个文件
! 执行shell命令
r! 读入命令的输出
w 保存
q q! 退出,强制退出

地址边界

表达式 意义
n 指定行
n1,n2 n1n2
n1,+n2 n1 起到n1 + n2之后
. 当前行
$ 最后一行
% 全文
/pattern1, /pattern2 pattern1 匹配行到 pattern2 匹配行

查找搜索

表达式 意义
/pattern 向下搜索
?pattern 向上搜索
n 下一个,命令同方向
N 上一个,命令反方向

替换模式

表达式 意义
s###[g/gc] 将第一对 # 中的内容替换成 第二对 #的内容,g代表整行 c代表询问
\n 后向引用
& 整体引用

特性定制

Vim的特性定制可以通过配置文件 /etc/vimrc (全局模式) 或者 ~/.vimrc(用户模式)配置完成,这种设置会永久生效;也可以在扩展模式下临时设置,仅在当前会话有效

表达式 意义
set nu / set nonu 显示/取消 行号
set ic / set noic 忽略/敏感 大小写
set ai / set noai 自动/非自动 缩进
set hlsearch / set nohlsearch 高亮/非高亮 显示
syntax on / syntax off 语法 高亮/非高亮
set fileformat=unix/dos 设置文本格式
set tw = 72 设置行宽
set cur / set no cur 显示/不显示 光标所在行
set paste / set nopaste 是否粘贴格式
set all 显示帮助

五,多窗口操作

Vim 提供多窗口和多文件操作模式,对操作熟练度要求很高,在此推荐另外一种操作简单而功能强大的命令行复用工具:tmux

你可能感兴趣的:(Linux基础之 Vim)