文本编辑器有很多,图形模式下有gedit、kwrite等编辑器,文本模式下的编辑器有vi、vim(vi的增强版本)和nano。vi和vim是Linux系统中最常用的编辑器。有人曾这样的说过在世界上有三种人:一种是使用Vi的,另一种是使用是Emacs的,剩下的是第三种人。
(一)初级个性化配置你的vim1、vim是什么? vim是Vi IMproved,是编辑器Vi的一个加强版,一个极其强大并符合IT工程师(程序员、运维)习惯的编辑器。如果你是一名职业的SE,那么一定在寻找一款出色的能够自由定制、满足灵活编辑功能的编辑器。那么答案,就是vim或者Emacs。
2、配置文件在哪? Windows系统的配置文件是vim安装目录下的vimrc文件。 Linux系统,RHEL和CentOS的配置文件是/etc/vimrc,Debian和Ubuntu的配置文件是/usr/share/vim/vimrc。 Mac OS X的配置文件是/usr/share/vim/vimrc。
3、vimRC中的RC是什么意思? 为什么把这么个没有意义的问题也列出来?原因很简单,就是我在接触vim之初第二个想问的问题就是这个(第一个就是上面的“1”)。一般在运行某个软件、环境或工具之初,要初始执行的一些命令,称为Run Commands,即RC。根据Wikipedia.org的记载,RC缩写的用法源自MIT的相容分时操作系统(Compatible Time-Sharing System,CTSS)[参考1]。所以以后如果你看到了SystemRC或者ScreenRC,也就知其缘由了。
4、三种基本模式 在《大家来学vim》中提到vim有6+5种模式,但除了细分程度不同外,实际上常用的只有3种模式:Normal Mode、Insert Mode和Command-line Mode。 - 从Normal Mode进入Insert Mode,可以按i、I、a、A、o、O、r、R即可。其中i和I表示插入(Insert),r和R表示替换(replace)。
- 从Insert Mode进入Normal Mode,只需要按ESC键即可。
- 从Normal Mode进入Command-line Mode,可以按“:”、“/”、“?”。其中“:”表示输入vim命令,“/”表示后面输入要向下搜索的字符串,“?”表示后面输入要向上搜索字符串。
- 从Command-line Mode进入Normal Mode,只需要按ESC键即可了。
你可以把Normal Mode理解为常态,进入其他任何一种模式,需要某种特殊方式,而从其他特殊模式回到Normal Mode,就按ESC键即可。
5、vim中那些最最常用的配置 当你尝试去google一些其他人的vimrc配置时,你一定会找到一篇叫做《The ultimate vim configuration》的文章,不过它的作者,Amix后来在他的博客上提到[参考2],这份在google搜索vimrc会排在前十的vim配置文件,如今已经过时了,所以他提供了一些更新信息。 (1)颜色设置 - syntax on “开启代码高亮
- syntax off “关闭代码高亮
- syntax enable “开启代码高亮
(2)搜索设置 - set hlsearch “开启搜索高亮
- set nohlsearch “关闭搜索高亮
- set incsearch “输入搜索字符串的同时进行搜索
- set ignorecase “搜索时忽略大小写
(3)用户界面 - set showmode “开启模式显示
- set ruler “开启光标位置提示
- set number “显示行号
- set nonu “不显示行号
- set cursorline “强调光标所在行
- set cmdheight=1 “命令部分高度为1
(4)编辑辅助配置 - set autoindent “自动缩进
- set noautoindent “不自动缩进
- set smartindent “智能缩进
- set autoread “当文件在外部被改变时,vim自动更新载入
- set showmatch “显示匹配的括号
参考:
(二)常用的状态切换按键1、Normal Mode -> Insert Mode - i 小写字母i,在光标位置插入
- a 小写字母a,在光标的下一个位置插入
- I 大写字母I,在光标所在行的第一个非空格处插入
- A 大写字母A,在光标所在行的最后一个字符处插入
- o 小写字母o,在光标所在行的下一行处插入新行
- O 大写字母O,在光标所在行的上一行处插入新航
- r 小写字母r,替换光标所在处的字符一次
- R 大写字母R,持续替换光标所在处的字符,直到按下ESC
2、Normal Mode -> Command-line Mode - :w 保存文件
- :w! 强制保存文件(前提是用户有修改文件访问权限的权限)
- :q 退出缓冲区
- :q! 强制退出缓冲区而不保存
- :wq 保存文件并退出缓冲区
- :ZZ 保存文件并且退出
- :wq! 强制保存文件并退出缓冲区(前提是用户有修改文件访问权限的权限)
- :w 另存为名为filename文件
- :n1,n2 w 将n1行到n2行的数据另存为名为filename文件
- : x 如果文件有更改,则保存后退出。否则直接退出。
3、Insert Mode -> Normal Mode 按下ESC键
4、Command-line -> Normal Mode 按下ESC键
(三)常用光标移动按键1、光标字符操作 - j 向下
- k 向上
- h 向左
- l 向右
- $ 光标移动到行尾(End),注意要按Shift键
- 0 光标移动到行首(Home)
- ^ 光标移动到行首第一个非空白字符(Home),注意要按Shift键
2、光标词操作 - w 光标移动到后一词的词首
- W 光标移动到后一词的词首且忽略标点符号
- e 光标移动到后一词的词尾
- E 光标移动到后一词的词尾且忽略标点符号
- b 光标移动到前一词的词首
- B 光标移动到前一词的词首且忽略标点符号
3、光标句操作 - ) 光标移动到后一句的句首
- ( 光标移动到前一句的句首
- % 配合“(”和“)”使用,寻找相匹配的另一半
4、光标行操作 - G 光标移动到文档的最后一行的第一个非空白字符
- nG 光标移动到文档的第n行,相当于”:n”
- gg 光标移动到文档的第1行的第一个非空白字符,相当于”1G”,也相当于”:1″
- 光标向下移动N行
5、光标段操作 - } 光标移动到下一段的段首
- { 光标移动到上一段的段首
- % 配合“(”和“)”使用,寻找相匹配的另一半
6、光标页操作 - Ctrl+f 向下翻页(Pagedown)
- Ctrl+b 向上翻页(Pageup)
- Ctrl+d 向下翻半页
- Ctrl+u 向上翻半页
- H 光标移动到目前显示页的第一行
- M 光标移动到目前显示页的中间行
- L 光标移动到目前显示页的最后一行
7、光标自由操作 Ctrl+o 回到光标的上一位置
|