服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Centos - CentOS下VIM实用基本操作技巧详解

CentOS下VIM实用基本操作技巧详解

2021-09-08 23:52CentOS之家服务器之家 Centos

vim是Vi IMproved,是编辑器Vi的一个加强版,一个极其强大并符合IT工程师(程序员、运维)习惯的编辑器。今天小编为大家带来的是CentOS下VIM实用基本操作技巧详解;有需要的朋友一起去看看吧

文本编辑器有很多,图形模式下有gedit、kwrite等编辑器,文本模式下的编辑器有vi、vim(vi的增强版本)和nano。vi和vim是Linux系统中最常用的编辑器。有人曾这样的说过在世界上有三种人:一种是使用Vi的,另一种是使用是Emacs的,剩下的是第三种人。

(一)初级个性化配置你的vim

1、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]Run Commands,http://en.wikipedia.org/wiki/Run_commands

[2]The Ultimate vim Configuration(vimRC),http://amix.dk/blog/post/19486

(二)常用的状态切换按键

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> 另存为名为filename文件

:n1,n2 w <filename> 将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> 光标向下移动N行

5、光标段操作

} 光标移动到下一段的段首

{ 光标移动到上一段的段首

% 配合“(”和“)”使用,寻找相匹配的另一半

6、光标页操作

Ctrl+f 向下翻页(Pagedown)

Ctrl+b 向上翻页(Pageup)

Ctrl+d 向下翻半页

Ctrl+u 向上翻半页

H 光标移动到目前显示页的第一行

M 光标移动到目前显示页的中间行

L 光标移动到目前显示页的最后一行

7、光标自由操作

Ctrl+o 回到光标的上一位置

延伸 · 阅读

精彩推荐
  • CentosCentOS7 阿里云的yum源使用详解

    CentOS7 阿里云的yum源使用详解

    这篇文章主要介绍了CentOS7 阿里云的yum源使用详解的相关资料,这里对备份yum源,添加EPEL源,和缓存清理,进行了介绍,需要的朋友可以参考下...

    天王9312020-12-28
  • CentosCentOS 最新版本git的安装教程

    CentOS 最新版本git的安装教程

    本文主要给大家介绍了CentOS 最新版本git的安装教程,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧...

    CentOS教程网9252021-11-29
  • Centos在CentOS系统上安装Docker的教程

    在CentOS系统上安装Docker的教程

    这篇文章主要介绍了在CentOS系统上安装Docker的教程,Docker是当下人气最为火热的容器类虚拟软件,需要的朋友可以参考下 ...

    开源中文社区3952019-09-17
  • Centos使用Xshell连接Centos 6.6服务器操作图文教程

    使用Xshell连接Centos 6.6服务器操作图文教程

    这篇文章主要介绍了使用Xshell连接Centos 6.6服务器操作图文教程,本文用详细的操作步骤讲解了如何使用Xshell连接Centos服务器,需要的朋友可以参考下 ...

    脚本之家4032019-09-18
  • Centoscentos 7中添加一个新用户并授权的步骤详解

    centos 7中添加一个新用户并授权的步骤详解

    这篇文章主要给大家介绍了关于在centos 7中添加一个新用户并授权的步骤,文中将实现的步骤介绍的非常详细,通过文中介绍的步骤可以轻松的创建一个新...

    Ryan.Miao9832022-02-12
  • CentosCentOS6.2网卡设置

    CentOS6.2网卡设置

    如果你想让服务器可以更新、让网友访问你的LINUX服务器,那一定要设置LINUX网上给网卡绑定一个IP,下面我们就介绍CentOS6.2网卡设置IP的方法。...

    CentOS教程网10092021-10-03
  • CentosCentOS上SVN服务器端程序的安装与使用教程

    CentOS上SVN服务器端程序的安装与使用教程

    SVN是一款高人气的软件项目版本控制系统,由于其在Windows的客户端的简易操作,在Git的浪潮中仍然保有很多的用户数量,这里我们就来看一下CentOS上SVN服务器端...

    cnblogs3902019-07-16
  • CentosCentOS系统下软件包的制作方法和过程详解

    CentOS系统下软件包的制作方法和过程详解

    今天小编将为大家带来的是CentOS系统下软件包的制作方法和过程详解;希望对大家会有帮助,有需要的朋友一起去看看吧...

    CentOS之家4802019-05-30