linux vim/vi 编辑器
简介
- vim/vi 编辑器是linux下常用的文本编辑器,可以编辑、创建任何格式的文件
- vim对vi的全部功能完全兼容,可以看作vi的升级版,vim有色彩,可以在windows等其他平台
- 两者都有三种模式,命令模式(不能编辑,输入被视为命令)、插入模式(编辑文本)、底行模式(配置环境、文件操作、调用)
- vim多了个可视模式, 可视模式中的操作有点像拿鼠标进行操作
- vi的命令均能在vim上执行。本文以vim为例子
安装vim的命令
sudo apt-get install vim
vim的基本使用命令
vim ~/txt/aaa.txt //如果该目录下有aaa.txt则打开文件,没有则创建文件并打开
模式切换
进入vim默认处于命令模式
- 命令模式----> 插入模式
- 点击i,a,o,I,A,O 都可从命令模式切换到插入模式,但是每个的作用不同
i:在当前光标所在字符的前面,转为输入模式;
a:在当前光标所在字符的后面,转为输入模式;
o:在当前光标所在行的下方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转为输入模式;
A:在当前光标所在行的行尾,转为输入模式;
O:在当前光标所在行的上方,新建一行,并转为输入模式;
- 插入模式 -----> 命令模式
按ESC,即可切换为命令模式
- 命令模式 <-----> 底行模式
按 :(英文符号) 即可进入底行模式
完成底行命令后,自动返回命令模式
按 ESC,ESC 按两次返回命令模式
- 底行模式与插入模式之间不可直接切换
- 命令模式-----> 可视模式
按v,V,ctrl + v进入
按ESC退出
底行模式
在命令模式下,按 :进入底行模式
- 替换
n,m s/old/new/g //用new替换从n到m行里所有的old
%s/old/new/g //用new替换当前文件里所有的old
%s/abc/123/g 把全文的abc替换成123
1,10s/abc/123/g 把1-10行的abc替换成123
s/old/new//用new替换行中首次出现的old
s/old/new/g //用new替换行中所有的old
- 显示配置操作
- 行号
:set nu //显示行号
:set number //显示行号
:set nonu //取消行号
- 语法
:syntax on //开启语法高亮
:syntax off //关闭语法高亮
- 分屏
:vsp xxx.x //开启分屏
:ctrl+w //关闭分屏
设置仅仅本次打开有效,若需要永久有效要修改配置文件
- 移动光标
. 表示当前行;
$ 最后一行;
# 第#行;
+# 向下的#行
命令模式
移动光标
- 按单词移动
w: 移至下一个单词的词首
e: 跳至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
#w: 移动#个单词
复制粘贴
撤销
u:撤消前一次的编辑操作;
#u:直接撤消最近#次编辑操作;
ctrl+r 反撤销(撤销u操作)
插入模式
写入文本
可视化
多窗口多文件
补全功能
缓存恢复
使用vim时,vim会在编辑的目录下建立一个文件 .filename.swp 我们使用vim对文件进行操作会被记录缓存在这里,如果我们的文件没有保存,就突然退出vim了,就可以利用这个文件来恢复
可能是系统故障。也可能是多人同时操作这个文件导致
当我们意外退出时,缓存文件会保存下来,我们再次进入这个文件时,因为有缓存文件的存在,使用vim会提示错误
操作:
o打开为只读文件
E,用正常方式打开文件,不加载缓存文件
R,加载缓存内容,救回之前为保存的数据
D,删除缓存,打开文件
Q,退出vim
修改配置文件
vim的整体配置文件一般在/etc/vimrc中,但是不建议修改这个
可以在用户目录下建立一个用户的配置文件 : ~/.vimrc 用来设置自己的配置文件
也可以在vim的命令行模式下设置,但是这种设置是临时的,下次使用需要重新设置
在~/vimrc内的设置也是长效的
配色方案目录:/usr/share/vim/vim73/colors //其中vim73是版本
~/viminfo 文件是用来记录曾经做过的操作的,是默认存在的不用自行建立,使用过vim就会建立
vim ~/.vimrc:修改当前用户的vim配置文件
sudo vim /etc/vimrc:修改所有用户的vim配置文件