vim编辑器 - 图1

其他编辑器:nano/emnas

介绍

vim是一个类似于vi的文本编辑器

三种模式

  • 命令模式:控制光标移动,可对文本进行复制/粘贴等操作
  • 输入模式:正常的文本录入 INSERT
  • 末行模式:保存、退出文档,以及可以设置编辑变量

安装

yum install vim -y

模式转换

命令模式 —> 输入模式 i a o 等键
输入模式 —> 命令模式 esc键
命令模式 —> 末行模式 : 键
末行模式—>命令模式 esc键

i a o 的区别

a 在光标的后面输入
i 在光标的前面输入
o 在光标的下一行输入
A 在行尾输入
I 在行首输入
O 在光标的上一行输入

光标跳转

k
j
h
l
  1. #command : 表示跳转#个字符/行

单词跳转

w 下一个单词的词首
b 当前单词的词首
e 当前单词的词尾

行首行尾跳转

^ 行首(非空白字符)
0 行首
$ 行尾

行间跳转

ps:在末行模式可以显示行号

#G(同时按下) 跳转第#行
1G 跳转到第1行
gg 跳转到第一行
G 跳转到最后一行

句间/段落间跳转:

() 句间跳转
{ } 段间跳转

字符编辑:

x 删除光标所在位置的字符
#x 删除光标处起始的第#个字符

替换编辑

r 替换命令
#r 替换光标处起始的第#个字符

删除命令

d 删除,配合光标跳转
d^ 删除光标处到行首的字符
d0 删除光标所在位置的字符到行首
d$ 删除光标所在位置到字符到行尾
dw 删除光标所在位置到下一词词首
de 删除光标所在位置到当前单词词首
db 删除光标所在位置到当前单词词尾
dd 删除光标坐在行
#dd 删除#行
1.首先在命令模式下,输入“:set nu”显示行号; 2.通过行号确定你要删除的行; 3.命令输入“:32,65d”,回车键,32-65行就被删除了,很快捷吧
如果无意中删除错了,可以使用‘u’键恢复(命令模式下)
多行删除

粘贴命令

  • p

    复制命令

  • y 类似与删除

    撤销命令

u 撤销前一次操作
#u 撤销前#次操作

搜索操作

/ 向下搜索
向上搜索
n 查找下一个匹配
N 查找上一个匹配

保存退出

q 退出
q! 强制退出,丢弃做出的修改
w 保存退出
x 保存退出
ZZ 保存退出(在命令模式下)
w /path/to/somewhere 另存为某个文件

地址定界

N 第N行
N,M 第N行到第M行
N,+M 第N行到第N+M行
. 当前行
$ 最后一行
% 全文
/part1/,/part2/ 被part1匹配到被part2匹配

使用方式:后面加一个编辑命令

  1. 使用方式: 后面去跟一个编辑命令
  2. 举例:
  3. 1. :1,2d 删除12
  4. 2. :4y 复制第4
  5. 3. :%d 删除全文

查看并替换

  • 地址界定s/查找内容/替换内容/修饰符
  • 修饰符:
    • i:忽略大小写
    • g:全局替换
    • :可以作为分割符

  • s/xfs/swap:替换了第一个匹配的内容
  • %s/xfs/swap/:替换了整行 全文替换(替换每一行第一次匹配到的内容
  • %s/xfs/swap/g:全文替换

    多文件模式

  • 在终端里输入 vim file1,file2,file3……
next 下一个文件
prev 上一个文件
last 最后一个文件
first 第一个文件
+! 强制去……
wqall 保存所有并退出
Ctrl+6 两文件间切换
:bn 下一个文件
:bp 上一个文件
:ls 列出打开的文件,带编号
:b1~n 切换至第个文件
  • vim已经启动

    输入 :e file
    可以再打开一个文件,并且此时vim里会显示出file文件的内容。

窗口分割

  • vim -o | O file1 file2
-o 水平分割
-O 垂直分割
:sp 水平切分窗口
:vsplit 垂直切分窗口
  1. [root@localhost ~]# touch 1.txt
  2. [root@localhost ~]# touch 2.txt
  3. [root@localhost ~]# vim -o 1.txt 2.txt
  4. 2 files to edit
  5. ~
  6. ~
  7. ~
  8. ~
  9. ~
  10. ~
  11. ~
  12. ~
  13. ~
  14. 1.txt 0,0-1 All
  15. ~
  16. ~
  17. ~
  18. ~
  19. ~
  20. ~
  21. ~
  22. ~
  23. ~
  24. 2.txt 0,0-1 All
  25. "2.txt" 0L, 0C

窗口跳转

CTRL_w+h 向左边窗口
  • CTRL_w+l:向右边窗口
  • CTRL_w+j:向下边窗口
  • CTRL_w+k:向上边窗口
  • CTRL_w+t:向顶上窗口
  • CTRL_w+b:向底下窗口

    定制vim

    配置文件:永久生效

  • 全局:/etc/vimrc

  • 个人:~/.vimrc
  • 行末:当前vim进程有效

    行号:

  • 显示:set number

  • 取消显示:set nonu

    括号匹配

  • 匹配: set showmatch

  • 取消:set unshowmatch

    自动缩进

  • 启用:set ai

  • 取消:set noai

    高亮搜索

  • 启动:set hlsearch

  • 取消:set nohlsearch

    语法高亮

  • 启动:syntax on

  • 取消:syntac off

    忽略大小写

  • 启动:set ic

  • 取消:set noic

    获取帮助

  • help