vim 官网
Linux系统命令行界面下的文本编辑器有很多,比如Emacs,pico,nano,joe和vim等。
因为几乎所有Unix Like都内置了vi编辑器,又因为vim是vi的高级版本,具有字体颜色辨别语法正确性的功能,所以今天写下vim的常规使用;
vim分为三种模式,分别是一般模式、编辑模式与命令行模式;
一般模式:打开文件直接进入的就是一般模式,可使用上下左右按键来移动光标,可删除字符或整行,可复制、粘贴文件数据;
编辑模式:在一般模式下按下“i、I、 o、 O、 a、 A、 r、 R”其中任一字符可进入编辑模式,界面左下方会出现INSERT或REPLACE字样,按【ESC】键退出编辑模式。
命令行模式:在一般模式下输入“: / ?”三个中的任何一个按钮,光标会移动到最下面的一行进入命令行模式,可进行查找数据、读取、保存、替换字符、退出VIM、显示行号等操作;
如下图示:
简单范例:vim test.txt
# 直接进入一般模式,按“i”进入编辑模式(可以编写文件),按【ESC】回到一般模式,然后输入“:wq”保存后离开vim编辑器。
一般模式常用按键说明:
【Ctrl】+【f】: 屏幕向下移动一页 =【page down】按键
【Ctrl】+【b】: 屏幕向上移动一页 =【page up】按键
数字0或【HOME】: 移动到这一行的首字符
$或【End】: 移动到这一行的尾字符
G: 移动到文件的最后一行
nG: n为数字,移动到文件的第n行
gg: 移动到文件的第一行
N: 光标向下移动n行
/word: 向下寻找名称为word的字符串
?word: 向上寻找名称为word的字符串
:n1,n2s/word1/word2/g n1和n2为数字,在n1和n2行之间寻找word1字符串,并替换为word2。
:1,$s/word1/word2/g 整个文件查找word1,并替换为word2
:1,$s/word1/word2/gc 整个文件查找word1,并替换为word2,并提示用户是否需要替换
xX x向后删除一个字符,X向前删除一个字符
dd 删除光标所在整行
ndd 删除光标所在向下n行
yy 复制光标所在的整行
nyy 复制光标所在的向下n行
pP p在光标下一行粘贴,P在光标上一行粘贴
u 复原前一个操作
【ctrl】+r 重做上一个操作
. 小数点,重复前一个操作
编辑模式常用按键说明:
i I a A o O r R 进入插入模式
命令行模式常用按键说明:
:w 将数据写入硬盘
:q 退出编辑器
:q! 强制离开编辑器
:wq 保存退出
:w【filename】 另存为
:f【filename】 读入另一个文件数据,并将内容加到光标所在行后面
:n1,n2w【filename】 将n1到n2的内容保存成filename这个文件
:!command 暂时离开命令行模式下执行command的显示结果。例:":!ls /home",可在vim编辑器中查看命令结果
:set nu 显示行号
:set nonu 取消行号
我自己喜欢显示行号,所以为了永久显示行号,做了以下操作
echo "set number" >> /etc/vimrc #vim永久显示行号
..............................................................................................................
...........................................美丽的分隔符...................................................
..............................................................................................................