vim文本编辑器用于建立 编辑 显示文本文件,vim没有菜单,只有命令
在windows 平台下可使用gvim进行编写
Vim三种工作模式:
常有命令:
1.INSERT插入命令
i 在光标前插入 I 在当前行首插入
a 在光标后插入 A在当前行尾插入
o 在当前行插入一行 O 在当前行上插入一行
2.光标定位命令
h 左移一个字符 (等同于方向键<---) H (head) 移至屏幕上端——第一行开头
j 移到下一行 (等同于上方向键) M (middle) 移至屏幕中间——中间行开头
k 移到上一行 (等同于下方向键) L (line) 移至屏幕下端——最后行开头
l 右移一个字符 (等同于方向键--->)
$ 移至行尾
0 移至行首(数字零)
gg 光标到第一行 nG 光标到第 n 行 2G 到第二行等于 :2
G 光标到最后一行 :n 光标到第 n 行
3.命令模式进入——编辑模式
: 命令 <Enter>回车
效果:执行后,制动回到命令模式
例如:显示当前文件的行号 :set nu 取消行号 :set nonu
4.删除命令
x 删除光标所在处字符
nx 删除光标所在处后n个字符
dd 删除当前行 ndd 删除n行 10dd 删除当前行到后面10行
dG 删除光标所在行到末尾的内容
D 删除光标所在处到行尾的字符
:n1,n2d 删除 行1 到 行2 范围内的行
5.复制和剪切命令
yy, Y 复制当前行 dd 剪切当前行
nyy,nY 复制当前行以下几行 ndd 剪切当前行以下几行
p 粘贴在当前行下一行
P 粘贴在当前行上一行
6.替换和取消命令
r 取代光标处字符(替换当前光标所在处单个字符)
R 从光标所在处开始替换字符 按ESC键结束
u(小写) 取消上一步操作(在没保存之前生效) undo
7.索索和替换命令
@1 /string 注意Linux中区分大小写,搜索字符串的时候,如果但是小写,大写的字符串不会被搜索出
在搜索前可使用命令忽略大小写
:set ic 忽略大小写
:set noic 关闭大小写
例如:在文件中搜索处含有ftp或FTP的行
:set ic
/ftp
n next 从上向下查找下一个出现的位置
N 从下向上查抄下一个出现的位置
@2 全文替换指定字符串
:%s/old/new/g 替换文本中所有字符串
%s 全部 old 要被替换的字符串 new 被替换后的字符串 g global 不提示直接替换 若为c 会提问是否替换 old字符串
例如: :%s/jack/linux/g 将文件中的jack 替换成linux
:n1,n2s/old/new/g 在指定范围内替换字符串
8.退出命令
:wq 保存并退出 快捷键 ——> ZZ (按两次大写ZZ)
:wq! 强行保存退出(当文件所有者或root没有 w 写入权限时,可以使用强行保存退出)
只有文件所有者可root超级管理员可以使用此命令
:q! 不保存退出
:w 保存一下,不退出 相当于windows的 Ctrl+S
:w /root/test 另存为到另一个位置
应用实例
1.导入文件
:r fliename 把filname文件的内容导入到当前文件中的指定位置
例如:把 /home/test/hello.php 文件导入到当前文件中 :r /home/test/hello.php
2.在vim下执行 命令
:! 命令 例如 : :! ls -al /etc/test/
我们在编辑文件时没必要先保存退出,再执行命令,可以直接在vim中执行
:! 命令 执行后回车继续
小技巧:1和2一起使用
例如 :我们在写脚本的时候需要标注出 注释 版权 负责人 最后修改时间
可使用 :r !date 把当前系统时间导入到文件中指定位置
3.定义快捷键
:map 快捷键 触发命令 回车执行命令
例如 为每一行行首添加注释#
快捷键定义 :map ^P I# I表示进入插入模式,光标定位到行首 #插入#符号
注意:
定义快捷键时 ^P 的输入使用(分别按Ctrl+v和 Ctrl+p或(Ctrl+v+p一起敲))进行输入
去掉行首#注释符 :map ^B 0x
插入邮箱地址 :map ^E ijack@sina.com
我们可以把日常常用的工作定义为快捷键提高编写的效率
4.连续行注释
@1 :n1,n2s/^/#/g ^ 表示行首
在n1到n2的范围内行首加入#注释符 :4,8s/^/#/g 在第4到8行的行首加上#符
@2 :n1,n2s/#//g 去掉字符 即替换为空
4,8s/#//g 会把范围内的所有#符号给去掉不单指行首
4.8s/^#//g 只把范围内的行首的#符去掉
@3 特殊字符转义处理
如果使用的注释符为 // 则需要进行转义
:1,5s/^\/\//g 在1到5行的行首插入//注释符 对//进行转义
5.替换命令
:ab mail jack@sina.com
可把mail看作 a jack@sina.com 看作b
在vim 中输入 mail 按空格或回车则变为 jack@sina.com
如果在文件中需要不断出入较长的相同文本可使用这一命令
取消 :ab 定义
:unab mail 回车 然后在文件中编辑则不会被替换
也可以取消快捷键的定义 :unmap ^P
注意:
上述我们在vim中的一些设置和快捷键的定义只在当前打开编辑的文件下有效,vim保存退出后都会失效,我们可以通过更改vim配置文件来使得自己的设置对于每次打开的文件都适用
编辑vim配置:
每个用户都有一个宿主目录
root 的宿主目录为 /root
普通用户宿主目录为 /home/uername
在宿主目录下都有一个文件 .vimrc(缺省文件——空文件)
我们可以在这个文件下配置vim的配置
例如我们可以修改root的 .vimrc 文件
vi /root/.vimrc
在里面写入
set nu 打开每个文件都显示行号 可加入:也可不写
map ^P I# 快捷键加注释
ab mail jack@sina.com
来源:https://www.cnblogs.com/jiechn/p/4502936.html