【Linux基础】vim编辑器设置(缩进、括号自动匹配)

 原文链接

参考链接

内容:

1、设置自动缩进(tab键为4个字符)

2、设置括号自动缩进(比如输入"(",会自动输入(),且光标在括号中间)

详解:

1、设置自动缩进

  办法:

    我的vim这么难用?不能语法高亮,没有折行,不能打开多个窗口多个buffer,不能……,要实现这些功能,需要配置vimrc文件

 

 

  1.1、vimrc文件目录在哪?

    输入vim回车,进入vim命令模式

    

  1.2、命令模式输入":versin"

    

  1.3、关于vimrc的显示如下:

      

  1.4、对于vim初学者,如果不知道$HOME或者$VIM具体是哪个目录,可以在vim中用下面的命令查看

:echo $VIM
:echo $HOME 

    

  1.5、切换到管理员权限,修改系统vimrc文件(也就是图片中的“$VIM”)

     

  1.6、配置缩进:

    

解释:

设置制表符宽度
  :set tabstop=4
  :set softtabstop=4
设置缩进的空格数
  :set shiftwidth=4
每行的缩进值与上一行相等
  :set autoindent

vimrc文件怎么用?

  举个例子:【我要实现这样的效果——在我用vim打开文件时,默认地给我显示行数】

        vim在默认的情况下,不会显示行数,需要在命令模式下输入【:set number】。这个命令只对当前窗口起作用。

你打开其他的文档,如果还要显示行数,得再敲set的命令。

        有了配置文件就不用这么麻烦了。打开你的【_vimrc】文件,在文件的最后的一行输入【set number】,保存。

        这样,你以后打开的所有文件就都会有行号了。

 

  这只是很小的功能,举个例子罢了。

        它还可以定义自己的命令,如删除空行等,就不用记住那个难记的正则表达式,只要在配置文件里写一遍,再给它取个名字(如:xyz),以后输入【:xyz】就能达到删除空行的效果。(此篇不再赘述)

        另,vim还自带了一个vimrc的示例文件——【vimrc_example.vim】。我的这个文件目录是这样的:【$VIM\vim73\】

 2、设置括号自动缩进

  vi编辑器中的括号不能自动缩进,使用imap将可以实现,大括号缩进设置为

imap {<CR> {<CR>}<ESC>O

  意思是:在输入时将大括号接换行符映射成大括号接回车接大括号接ESC接大写的O  

  效果(输入" { ",然后enter回车):

  

  同理,中括号以及小括号缩进设置

imap [ []<ESC>i  //输入左中括号的时候自动补齐右中括号,并在括号中间输入i
imap ( ()<ESC>i  //输入左小括号的时候自动补齐右小括号,并在括号中间输入i

  效果(只输入一个 " [ " 时):

  

  另外的缩进设置:输入一个左括号,相当于输入完整的括号再将光标向左移动一个字符

imap [ []<LEFT> //输入左中括号的时候自动补齐右中括号
imap ( ()<LEFT> //输入左小括号的时候自动补齐右小括号

  效果(只输入一个 " [ " 时):输入一个左括号,相当于输入完整的括号再将光标向左移动一个字符

  

 以上只是简单举例。

   再就是imap是什麽意思,imap的意思是insert模式下的映射操作,上述设置的映射规则只在输入模式下有作用,在其他模式中没有设置这种映射规则就不会有这种输入时的替换,map有好几种映射模式,想设置某一种模式下映射规则,可以使用该模式下的映射命令,比如命令模式cmap,普通模式nmap

关于map的模式可以参考这篇博客http://haoxiang.org/2011/09/vim-modes-and-mappin/

 

posted @ 2017-08-21 16:28  亡命鸡礼花  阅读(12000)  评论(0编辑  收藏  举报