vim 基础
vim 有三种模式 命令模式(Command mode) ,插入模式(Insert mode), 末行模式(Last line Mode)
命令模式:vim 的基本模式,运行 vim 后就进入了 命令模式,在命令模式中可以切换到插入模式(i,a,o)和末行模式(:),在插入模式和末行模式下按 Esc 键返回命令模式
i 在光标当前位置输入
a 在光标下一个位置输入
o 在光标所在行的下一行输入
vim 文件编辑各种操作
打开或新建一个文件
命令格式:
vim 文件名
若文件存在,当打开已存在的文件,若文件不存在则打开一个空白文件
root@hm01:~/work# vim 1.txt
vim 打开文件后
~
~
~
~
~
~
"1.txt" [New File]
输入文字
输入 i 进入插入模式,在最下面一行会显示 -- INSERT --
在当前模式下可以输入任意字母、数据、符号
退格键 删除光标前的一个字符
delete键 删除光标后面的一个字符
上下左右方向键 移动光标
PageUP、PageDown 翻页
~
~
~
~
~
~
~
-- INSERT --
复制、粘贴
在命令模式下,把光标移动到要制作的行上,按键 yy,是复制一行,yy前加一数字如 2yy 则复制光标向下2行,移动光标到要粘贴的行,按键 p,把刚复制的行粘贴到光标所在行的下一行
删除行
在命令模式下把光标移动到要删除的行上,按键 dd 删除当前行,dd前加一个数字如 2dd 则删除光标下向2行,删除也想当于剪切,按键 p 粘贴删除的行
保存
末行模式下输入 w 保存,有时会有文件只读的问题,可以强制保存,w 后面加一个叹号 w!
~
~
~
~
~
:w
~
~
~
~
~
:w!
w 后面也可以跟一个文件名,则是保存到新文件里
退出
在末行模式下按键 q 退出,q 经常与 wq一起使用,即保存后退出
~
~
~
~
~
:wq
搜索
修改一个文件,文件行数太多,想找到某一个句进行修改,可以用搜索,
的命令模式下输入 /搜索内容
如搜索 you
按 n 向下搜索 you, 按 N 向上搜索 you
搜索时忽略字母大小写, 在末行模式输入
set ignorecase
~
~
:set ignorecase
然后再进行搜索就不区分大小写了
恢复搜索大小写敏感, 在末行模式输入
set noignorecase
~
~
:set noignorecase
替换 ,行首,行末
把一个词替换成另一个词,在末行模式下,命令
把文档中所的有 search 替换成 replace
:%s/search/replace/g
所光标所在行的所有 search 替换为 replace
:s/search/replace/g
所10到15行的所有 search 替换为 replace
:10, 15s/search/replace/g
只把光标所在行的第一个 search 替换成 replace
:s/search/replace/
s前面的 %或行号限定搜索的范围,后面的g限定替换的次数
跳转光标
跳转到文档最后一行: 命令模式下大写字母 G
跳转到文档第一行: 命令模式下小写字母 gg
跳转到当前这个屏幕的顶部:H
跳转到当前这个屏幕的中部:M
跳转到当前这个屏幕的底部:L
练习
打开 vim 输入下面一段文字
Love - by Roy Croft
I love you,
Not only for what You have made of yourself,
But for what You are making of me.
I love you
because you are helping me to make
Of the lumber of my life
Not a tavern but a temple;
Out of the works of my every day
Not a reproach but a song.
- 复制第一行文字粘贴到最后一行
- 把所有的 love 替换成 LOVE
- 只把第二行的 You 替换成 YOU
- 把所有 of 或 Of 替换成 OF