【注】文章中的所有截图均为centos下实验结果,亲测命令正确= ̄ω ̄=
【参考资料】《Linux从入门到精通(第2版)》刘忆智 等编著
1、预先配置 :centos默认只安装了vim-minimal-7.x。需要sudo下用yum安装其他组件。
安装完毕后,就可以进行配置文件的编辑,设置编辑器高亮、缩进等,否则只有vi命令可用,vim命令不会被系统识别,见下文。
$ yum -y install vim-enhanced
2、编辑和保存文件
$ vim ##新建一个未命名文件,需要在保存时指明文件名
$ vim file ##打开文件,file不存在时以这个文件名新建
Vim分为插入模式和命令模式,插入模式可以输入字符,命令模式执行其他操作。启动时默认处于命令模式。按 I 键可以进入插入模式,按 Esc 键回到命令模式。
Vim命令严格区分大小写。
移动光标至某一行,按 o 键在其下方插入一行,按 O 键在其上方插入一行,自动进入插入模式。
编辑完成后,输入 : ,最下方一行出现一个命令行等待用户输入,其中,:q 表示退出,:w 表示保存,:w [文件名] 可以为文件命名,:wq 组合使用为保存并退出,当不保存直接选择退出时系统会提示,若想放弃修改可以输入 :q! 强制退出,修改不会保存。
【转载请注明文章出处:http://blog.csdn.net/iamthezbl/article/details51334429】
3、程序员配置
:syntax on ##vim编辑模式下输入,可以设置高亮
:set autoindent ##vim编辑模式下输入,可以设置自动缩进
:set shiftwidth=4 ##vim编辑模式下输入,可以Tab缩进的空格数,默认为8个空格
每次打开vim设置比较麻烦,可以修改 /etc/vim 目录下的配置文件 vimrc,但一般不建议修改。可以在用户主目录下新建一个名为 .vimrc 的文件,前面的 . 代表是隐藏文件。文件中写入这些配置,另外还有一些其他配置可以写入(写入文件时不需要冒号):
set nu ##显示行数
set mouse=a ##使用鼠标确定位置
此时用vim会有高亮,但vi下没有高亮,需要在 /etc/bashrc 中加入 alias vi='vim' 给vim起个别名vi。
4、搜索字符串
/Wednesday ## "/"加要搜索的字符串,可以搜索指定字符串
使用n跳转的下一个字符串,到达文件尾会返回文件头。/ 和 ?分别表示查找下一个和上一个。
:set ignorecase ##忽略大小写
:set noignorecase ##开启大小写敏感
【转载请注明文章出处:http://blog.csdn.net/iamthezbl/article/details51334429】
5、替换字符串
:[range]s/pattern/string/[c,e,g,i] ## 替换字符串的语法
将pattern代表的字符串替换为string,range用于指定替换范围,如 1,4 表示第一行到第四行, 1,$ 表示第一行到最后一行,全文也可以用 % 表示。
c:每次替换前询问
e:不显示错误信息
g:替换一行中的所有匹配项(这个选项通常需要使用)
i:不区分大小写
= = 写成3th实在是太二了 /(ㄒoㄒ)/~~
与替换有关的一个用法是清除文本文件中的“^M"字符,来自Windows环境的源代码文件每行末尾常常会出现多余的“^M"符号,可以用下边的命令删除:
:%s/^M$//g ## 将全文的行末($)的^M字符删除,其中^M应用 CTRL-V CTRL-M输入
【转载请注明文章出处:http://blog.csdn.net/iamthezbl/article/details51334429】
命令 |
操作 |
a |
在光标后插入 |
i |
在光标所在位置插入 |
o |
在光标所在位置的下一行插入 |
Esc |
进入命令模式 |
: |
进入行命令模式 |
光标移动(移动时可以在命令前加上数字,表示重复多次移动,如 5w表示移动五个单词):
命令 |
操作 |
h |
光标左移一格 |
l |
光标右移一格 |
j |
光标下移一格 |
k |
光标上移一格 |
^ |
移动光标到行首 |
$ |
移动光标到行尾 |
G |
移动光标到文件尾 |
Gg |
移动光标到文件头 |
W |
移动光标到下一个单词 |
B |
移动光标到前一个单词 |
Ctrl+f |
向前(朝向文件尾)翻动一页 |
Ctrl+b |
向后(朝向文件头)翻动一页 |
删除、复制和粘贴:
命令 |
操作 |
x |
删除光标所在位置的字符 |
dd |
删除光标所在的行 |
D |
删除光标所在位置到行尾之间的所有字符 |
d |
与移动命令配合使用的删除命令,如dw表示删除光标所在位置到下一个单词之前的所有字符 |
yy |
复制光标所在行 |
y |
与移动命令配合使用的复制命令 |
P |
在光标所在位置粘贴最近复制/删除的内容 |
撤销和重做:
命令 |
操作 |
u |
撤销一次 |
Ctrl+R |
重做被撤销的操作 |
【转载请注明文章出处:http://blog.csdn.net/iamthezbl/article/details51334429】
搜索和替换:
命令 |
操作 |
:/string |
向文件尾搜索字符串 |
:?string |
向文件头搜索字符串 |
:s/pattern/string |
替换字符串 |
保存和退出:
命令 |
操作 |
:w |
保存文件 |
:w filename |
另存为filename |
:q |
退出Vim |
:q! |
放弃修改,强行退出 |