vim编辑器
一、vim的基本使用
vim编辑器在内存缓冲区中处理数据。
## 1.vim的工作模式
vim工作在三种模式之下:
- 命令模式:是主要使用快捷键的模式。命令模式想要进入输入模式,可以使用一下方法,可以使用(shift+zz直接保存退出)
命令 | 作用 |
---|---|
a | 在光标所在字符后插入 |
A | 在光标所在行尾插入 |
i | 在光标所在字符前插入 |
I | 在光标所在行行首插入 |
o | 在光标下插入新行 |
O | 在光标上插入新行 |
- 输入模式:主要用于文本编辑,和记事本类似。输入数据就好。
- 末行模式(编辑模式):
:w 保存不退出
:w 新文件名 把文件另存为新文件
:q 不保存退出
:wq 保存退出
:! 强制
:q! 强制不保存退出,用于修改文件之后,不保存数据退出。
:wq! 强制保存退出,当文件的所有者或root用户,对文件没有写权限的时候,强制写入数据使用。
2.命令模式操作
2.1 移动光标
1) 上下左右移动光标
上、下、左、右方向键 移动光标
H\J\K\L 移动光标
2)把光标移动到文件头或尾
gg 移动到文件头
G 移动为文件为(shift+g)
3)移动到行首或行尾
^ 移动到行首
$ 移动到行尾
4)移动到指定行
:n 移动到第几行
n这是数字,准备移动到第几行,就用哪个数字
2.2 删除或剪切
1)删除字母
x 删除单个字母
nx 删除n个字母
n是数字,如果打算从光标位置删除连续10个字母,可以使用“10x”即可。删除字母并不符合使用习惯,一般更喜欢用删除键删除字母。
2)删除整行或剪切整
dd 删除单行
ndd 删除多行
:n1.n2d 删除指定范围内的行
删除整行或多行,这是比较常用的删除方法。这里的dd快捷键及时删除,也是剪切。内容放入了剪切板,如果不粘贴就是删除,如果删除就是剪切。粘贴方法如下:
p 粘贴到光标后
p(大) 粘贴到光标前
3)从光标所在行删除到文件尾
dG 从光标所在行删除到文件尾
“d”就是删除行,G是文件尾,连起来使用就是从光标所在行删除到文件尾。如果把光标放在文件首,那么“dG”就变成了删除整篇文档了。
2.3 复制
yy 复制单行
nyy 复制多行
复制之后的粘贴,依然可以只用p键或p(大)键
2.4 撤销
u 撤销
chrl+r 反撤销
“u”键能一致撤销到文件打开状态,莱斯windows下的“ctrl+z”键的作用。
“ctrl+r”能一直反撤销到最后一次操作状态,类似windows下的“ctrl+y”键的作用。
2.5 替换
r 替换光标所在处的字符
R 从光标所处开始替换字符,按ESC结束
“r”键替换单一字符,不能用输入模式,实际使用时,比进入输入模式删除后在修改,要方便。
2.6 vim配置文件
这次末行模式参数设置,多数需要在vim中才能生效。
设置参数 | 含义 |
---|---|
:set nu :set nonu | 显示与取消行号 |
:syntax on :syntax off | 是否依据语法显示相关颜色帮助。在VIM中修改相关的配置文件或SHELL脚本时,默认会显示相应的颜色,用来帮助排错。如果觉得颜色产生了干扰,则可以取消此设置。 |
:set hlsearch :set nohlsearch | 设置是否将查找的字符串高亮显示。默认是高亮显示 |
:set ruler :set noruler | 设置是否显示右下角的状态栏。默认是set ruler显示 |
:set showmode :set noshowmode | 设置是否在左下角显示“—INSERT—”之类的状态栏。默认是set showmode显示 |
:set list :set nolist | s何止是否显示隐藏字符(Tab键用“I”表示,用回车符“$”表示)。默认是nolist显示。如果使用set list显示隐藏字符,类似“cat -A文件名” |
vim支持更多的设置参数,可以通过“:set all”进行查看
2.7 查找
/查找内容 从光标所在行向下查找
?查找内容 从光标所在行向上搜索
n 下一个
N 上一个
2.8 替换
:1,10s/ole/new/g 替换1到10行的所有old为new
:%s/old/new/g 替换整个文件的old为new
例子:
:1,10s/^/#/g 注释1到10行
:1,10s/^#//g 取消注释
二、vim使用技巧
1.在vim中导入其他文件内容或命令
1.1 导入其他文件内容
:r 文件名
把文件导入到光标位置
可以吧其他文件的内容导入到光标所在位置
1.2 在vim中执行系统命令
:!命令
在vim中执行系统命令
这里只是在vim中执行系统命令,但并不把系统命令的结果写入到哦文件中。主要用于在文件编辑中,查看系统信息,如时间。
1.3 导入命令结果
:r !命令
在vim中执行系统命令,并把命令结果导入光标所在行
在vim中执行系统命令,并把命令结果过导入光标所在行。
2.设定快捷键
:map 快捷键 快捷键执行的命令
自定义快捷键
vim允许自定义快捷键,常用的自定义快捷键如下:
:map ^P I#<ESC>
按“ctrl+p”时,在首行加入注释
:map ^B ^x
按“ctrl+b”时,删除行首第一个字母(删除注释)
注意:P不能手工输入,需要执行ctrl+V+P来定义,或ctrl+V,然后ctrl+P。B也是一样
3.字符替换
:ab 源自符 替换为字符
字符替换
在vim编辑中,有时候需要频繁输入某个长字符串(比如邮箱),这时使用字符串替换,能增加输入效率,例如:
:ab mymail 123@123.com
当碰到“myemail”时,转变为邮箱
注意:源自符不应设置的太短,否则有可能影响输入
4.多文件打开
在vim中可以同时打开两个文件,只要执行如下命令:
vim -o abd bcd
vim -O abd bcd
#-o 小写o会上下分屏,同时打开两个文件
#-O 大写O会左右分屏,同时打开两个文件
这样可以同时打开两个文件,方便操作。如果是“-o”上下打开两个文件,可以先通过“ctrl+w”,再按“上下箭头”的方式在两个文件之间切换
如果是“-O”左右打开两个文件,可以通过先按“ctrl+w”,再按“左右箭头”的方式在两个文件之间切换。