linux全套 | vi和vim编辑器 | 04
目录
vi和vim的基本介绍
所有的linux
系统都会内建vi
文本编辑器.
vim
具有程序编辑的能力,可以看作是vi
的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计. 代码补全,编译几错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.
vi和vim的三种常见模式
正常模式
在正常模式下,我们可以使用快捷键.
在vim
打开一个文件默认就是进入正常模式.
在这个模式中, 可以使用上下左右来移动光标,对文档内容进行各种复制,删除,粘贴的操作.
插入模式
在模式下,程序员可以输入内容.
一般按a,i
进行编辑输入.
命令行模式
在命令行模式中,输入相关指令,完成读取,存盘,替换,离开vim,显示行号等操作.
vi和vim 三种模式的相互转化图
vim的快捷键
- 选中,剪切,粘贴
选中 v
剪切 d
粘贴 p
- 拷贝当前行
yy 拷贝当前行
5yy 拷贝当前向下的5行
p 粘贴
- 删除当前行
dd 删除当前行
5dd 删除当前向下的5行
- 撤销,不撤销
u Ctrl+z
Ctrl+r Ctrl+y
- 全选操作
v 可视化选择
gg 首行
G 尾行
- 查找
/关键字 查找关键字
n,b 前进和后退
:noh 退出查找高亮
- 跳转指定行数
行数+G/gg 跳转指定行数
vim的基本配置
修改vim的配置文件
如果是对个人用户,配置文件一般设置为隐藏文件~/.vimrc
vim的基本配置
默认情况下,Vim编辑器里既不显示行号,也没有语法高亮,智能缩进. 为了方便使用,基本的Vim
选项一般会包括:
支持中文不乱码
'设置编码'
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
与Vim编码有关的变量包括:encodin
、fileencoding
、termencoding
。
encoding
选项用于缓存的文本、寄存器、Vim
脚本文件等;fileencoding
选项是Vim
写入文件时采用的编码类型;ermencoding
选项表示输出到终端时采用的编码类型。
显示行号
'显示行号'
set nu
nu
是number
的缩写,所以上面两个配置命令是完全等效的。
突出显示当前行,列
set cul
set cuc
启用鼠标
set mouse=a
set selection=exclusive
set selectmode=mouse,key
Vim
编辑器里默认是不启用鼠标的,也就是说不管你鼠标点击哪个位置,光标都不会移动。通过以上设置就可以启动鼠标,不过对于高级玩家来说,用Vim
就是为了解放双方不用鼠标,所以这个设置可以根据个人爱好选择。
显示括号匹配
set showmatch
设置缩进
'设置Tab长度为4空格'
set tabstop=4
'设置自动缩进长度为4空格'
set shiftwidth=4
'继承前一行的缩进方式,适用于多行注释'
set autoindent
设置粘贴模式
set paste
在Vim
中通过鼠标右键粘贴时会在行首多出许多缩进和空格,通过set paste
可以在插入模式下粘贴内容时不会有任何格式变形、胡乱缩进等问题
打开文件类型检测
filetype plugin indent on
显示状态栏和光标当前位置
'总是显示状态栏'
set laststatus=2
'显示光标当前位置'
set ruler