Linux 中的Vim
一.什么是Vim?
可以将Vim视作Vi的高级版本,是一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 里面加入了很多额外功能,例如支持正则表达式的查找结构,多文件编辑,块复制等。可以说是程序开发者的一项很好用的工具。
二.Vim的三种模式
1.命令模式:
1)命令模式下配置 vim 的工作方式
: set nu ##在每一行前显示行号
: set nonu ##取消行号
: set mouse=a ##添加鼠标选择
: set cursorline 行线显示
注意:以上操作在vim的工作方式是临时设定,也就是说当vim关闭,设定失效
如果要永久设定需要编写/etc/vimrc
,这个文件是vim的配置文件。
执行 :set nu命令
执行:set nonu命令
执行:set cursorline命令
2)vim 命令模式下关键字搜索
/ 关键字
n 向下匹配
N 向上匹配
3)字符的管理
y
yl ##复制一个字母<C-F12>
y3l ##复制3个字母
yw ##复制一个单词
y3w ##复制3个单词
yy ##复制1行
y3y ##复制3行
d
dl ##删除一个字母
d3l ##删除3个字母
dw ##删除1个单词
d3w ##删除3个单词
dd ##删除1行
d3d ##删除3行
c
cl ##剪切1个字母
c3l ##剪切3个字母
cw ##剪切1个单词
c3w ##剪切3个单词
cc ##剪切1行
c3c ##剪切3行
"注意:在剪切之后vim会进入插入模式,如果要粘贴需要按【esc】退出插入模式然后按p粘贴"
p ##粘贴
u ##撤销
ctrl+r ##恢复撤销
4)vim可视化模式(在这模式下可以选中一片区域操作)
ctrl + v ##在这个模式下可以选择区域操作
批量化处理字符 (加入字符,如在第一列加入q):
进入可视化后,安I(大写),加入字符,安Esc完成
在第一列加入‘#’
5)字符的替换
:%s/:/@/g ##%s表示全文每一行,g表示这个字符出现的每一列
:1,5s/:/@/g ##替换1-5行的:为@
:%s/^ *//g 保留有用的空格
替换全文的‘s‘为’@‘
6)vim的分屏功能:
ctrl+w s 上下分屏
ctrl+w v 左右分屏
ctrl+w c 关闭分屏功能
ctrl+w 上下左右键 光标移动到指定屏幕
vim编辑多个文件
vim file1
:sp file2 ##进入file1之后:sp file2编辑file2
在Vim中编辑paaswd和file两个文件
7)在命令模式下光标的移动
gg ##光标移动到文件的第一行
G ##光标移动到文件的最后
:数字 ##光标移动到指定的行
2.插入模式(INSERT)
1)插入模式下光标的移动 安i进入插入模式后安Esc进行下列操作
i ##光标所在位置插入
I ##光标所在行行首插入
o ##光标所在行下一行插入
O ##光标所在行上一行插入
a ##光标所在字符的下一个字符插入
A ##光标所在行的行尾插入
s ##光标所在字符删除并插入
S ##光标所在行删除并插入
3.vim的退出模式
:q 退出,在文件内容没有被改变时使用
:wq 退出保存
:q! 强制退出不保存,在改变文件后不想保存时使用
:wq! 强制退出保存,在只读文件编写时使用,注意,在编辑的只读文件必须时当前用户的文件,或者当前操作的用户时root
vimtutor查看vim的帮助