关于vim的一些个人总结

废话不多说,直接上菜:

一、关于配置

syntax on  "打开语法高亮 

set background=light   "设置背景色,每种配色有两种方案,一个light、一个dark 

set nu     "显示行号 
set cindent   "设置缩进有三个取值cindent(c风格)、smartindent(智能模式,其实不觉得有什么智能)、autoindent(简单的与上一行保持一致) 
set expandtab   "用空格键替换制表符 
set tabstop=4   "制表符占4个空格
set shiftwidth=4  "默认缩进4个空格大小
set filetype=c
highlight WhitespaceEOL ctermbg=red guibg=red 
match WhitespaceEOL /\s\+$/

set hlsearch   "高亮显示搜索结果

set incsearch   "增量式搜索(亲身体验,用处不大)

filetype on  "检测文件类型 

一般情况下,以上就够用了。不懂的请自行google。


二、行间移动

先说下基本的移动命令:h 表示向前一个字符; l 表示向后一个字符; j 表示向下一行; k 表示向上一行。

1、普通模式下使用“数字+G”的方式是行间移动的常用方式。比如要跳到33行,在普通模式下输入33再按下G,就可以直接跳到33行。(注:数字 + gg也可以达到相同的效果)

2、当你用"G"命令从一个地方跳转到另一个地方时,Vim会记得你起跳的位置。这个位置在Vim中是一个标记。使用命令“``”可以使你跳回到你刚才的出发点。这个“`”是Tab键之上的那个键。连 按两下就会回到刚才的位置。换句话说,“``”命令会让你在两个位置之间来回跳跃。

3、那么有没有办法可以跳出这个死循环呢?答案是:CTRL + O/I。CTRL + O 会让你一直往回跳,而CTRL + I恰好相反。

4、精确匹配:* 和 #: 命令匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)。当然他们之前也可以加上数字,表示移动到第几个匹配的单词。

5、n  + <Enter>: n 为数字。光标向下移动 n 行。

6、gg回到文件开头;G直接到结尾。

7、数字 + % :跳到文件相应的百分比位置。

8、H/M/L:分别跳到屏幕的顶端/中间/底端

9、zz,zt,zb:这个自己体验下~~

10、来个高端的:Vim允许你在文本中定义你自己的标记。命令"ma"将当前光标下的位置名之为标记"a"。从a到z一共可以使用26个自定义的标记。定义后的标记在屏幕上也看不出来。不过Vim在内部记录了它们所代表的位置。要跳转到一个你定义过的标记,使用命令`{mark}, {mark}就是你定义的标记的名字。就象这样:`a命令'mark(单引号,或者叫呼应单引号)会使你跳转到mark所在行的行首。这与`mark略有不同,`mark会精准地把你带到你定义mark时所在的行和列。


三、翻页

1、CTRL + F/B : F表示向下翻一页;B表示向上翻一页。

2、CTRL + D/U : D向下半页;U向下半页。

3、CTRL + E/Y :E向下一行;Y向上一行。


四、行内移动

1、0(是数字零)表示移动到光标所在行的行首;$表示移动到行尾。

2、^  移动到本行第一个非空白字符,简单说就是第一个字出现的地方;g_ 移动到最后一个字。

3、w  到下一个单词的开头;  b 到上一个单词的开头。

4、e  到下一个单词的结尾; ge 到上一个单词的结尾。

5、对应于3和4有:W/B/E/gE。自己体会下。

6、精确匹配:f  + x 表示寻找下一个字符x。f前面可以有数字,表示第几个。F与f作用相同,但是方向相反。

7、t和T也是行内精确匹配一对命令组合:同样也是作用相同方向相反。自己体会下他们与f/F有何区别。

注:这4个命令都可以用";"来重复。以","也是重复同样的命令,但是方向与原命令的方向相反2 。无论如何,这4个命令都不会使光标跑到其它行

8、以匹配一个括号为目的的移动

        写程序的时候很容易被层层嵌套的()给弄糊涂。此时使用命令“%”就太方便了:它跳转到与当前光标下的括号相匹配的那一个括号上去。如果当前光标在"("上,它就向前跳转到与它匹配的")"上,如果当前在")"上,它就向后自动跳转到匹配的"("上去。这 对 方 括 号[]和 花 括 号{}同 样 适 用 。如果当前光标并没有停留在一个可用的括号字符上,"%"也会向前为
它找到一个。所以如果当前光标位于上例中的行首,"%"命令还是会向前
先找到第一个"(",然后找到与它匹配的")"。

9、+ 光标移动到非空格符的下一列 ;  - 光标移动到非空格符的上一列。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。

10、数字 + 空格  表示向后移动几个字符。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值