vim命令

来源:互联网 发布:淘宝上的虚拟试衣间 编辑:程序博客网 时间:2024/06/10 22:21

1.  生成tags文件

ctags -R

2. ]p:和 p 的功能差不多,但是它会自动调整被粘贴的文本的缩进去适应当前代码的位置。试一下!

3. 下面是我常用的一些命令, 放在这里供我备忘:
% 跳转到配对的括号去
[[ 跳转到代码块的开头去(但要求代码块中'{'必须单独占一行)
gD 跳转到局部变量的定义处
'' 跳转到光标上次停靠的地方, 是两个', 而不是一个"
mx 设置书签,x只能是a-z的26个字母
`x 跳转到书签处("`"是1左边的键)
> 增加缩进,"x>"表示增加以下x行的缩进

< 减少缩进,"x<"表示减少以下x行的缩进

4.

 *:读取光标处的字符串,并且移动光标到它再次出现的地方。
#:和上面的类似,但是是往反方向寻找。

5.
自动提示: <C-n> 和 <C-p>
在 Insert 模式下,你可以输入一个词的开头,然后按 <C-p>或是<C-n>,自动补齐功能就出现了……

6.
:bn 和 :bp → 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。(陈皓注:我喜欢使用:n到下一个文件)

7. vim多行注释/删除注释
按键操作:
注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如"//",再按Esc,就会全部注释了。
删除:先按v,进入visual模式,横向选中列的个数(如"/ /"注释符号,需要选中两列),再按Esc,再按ctrl+v 进入列编辑模式,向下或向上移动光标,选中注释部分,然后按d, 就会删除注释符号。
使用替换命令:
:%s/^/\/\//g来在全部内容的行首添加//号注释
:2,50s/^/\/\//g在2~50行首添加//号注释
反过来替换既是删除操作。

8.vim 查找
(1)要自当前光标位置向上搜索,请使用以下命令:   
  /pattern   Enter     
  其中,pattern   表示要搜索的特定字符序列。    
  要自当前光标位置向下搜索,请使用以下命令:   
  ?pattern   Enter      
(2) 按下   Enter   键后,vi   将搜索指定的   pattern,并将光标定位在   pattern   的第一个字符处。例如,要向上搜索   place   一词,请键入:   
  /place   Enter      
  如果   vi   找到了   place,它将把光标定位在   p   处。要搜索   place   的其他匹配,请按   n   或   N:   
  n,继续朝同一方向搜索   place。   
  N,反方向进行搜索。   
(3) 如果   vi   未找到指定的   pattern,光标位置将不变,屏幕底部显示以下消息:   

  Pattern:   未找到   

(4)搜索特殊匹配     

  在上面的示例中,vi   查找到包含   place   的任何序列,其中包括   displace、placement   和   replaced。     

     (a) 要查找单个的   place,请键入该单词,并在其前后各加一个空格:     

       /   place     Enter      
    (b) 要查找仅出现在行首的   place,请在该单词前加一个插字符号   (^):   
      /^place   Enter     
    (c) 要查找仅出现在行尾的   place,请在该单词后加一个货币符号   ($):    
      /place$   Enter     
    (d) 使用   ^   
      要逐字搜索这种带有插字符号   (^)   或货币符号   ($)   的字符,请在字符前加一个反斜线   (\)。反斜线命令   vi   搜索特殊字符。     
    (e)  使用   $   
      特殊字符是指在   vi   中具有特殊功能的字符(例如   ^、$、*、/   和   .)。例如,$   通常表示“转至行尾”,但是,如果   $   前紧跟一个   \,则   $       只是一个普通的字符。     
    (f)  使用   \   

      例如,/(No   \$   money)   向上搜索字符序列   (No   $   money)。紧跟在   $   之前的转义字符   (\)   命令   vi   逐字搜索货币符号。

9. 复制粘贴命令
下面是vim复制粘贴的基本命令:
yy复制游标所在行整行。或大写一个Y。 
2yy或y2y复制两行。 ㄟ ,请举一反三好不好! :-) 
y^复制至行首,或y0。不含游标所在处字元。 
y$复制至行尾。含游标所在处字元。 
yw复制一个word。 
y2w复制两个字(单词)。 
yG复制至档尾。 
y1G复制至档首。 
p小写p代表贴至游标后(下)。 
P大写P代表贴至游标前(上)。
复制单个字符
首选进入正常模式(按ESC就行)
然后按v(指定粘贴板为"1v 引号不能少),进入visual方式,然后就可以移动方向键选中文本,然后按y,就拷贝完成,
如果你要从光标处开始复制 4 个字符,可以按 4yl (复制光标后的)("14yl)("110yl 后面10个字符),4yh(复制光标前的) ,就复制了4个字符到缓冲区中了,
按下来就可以用 p (指定粘贴板为"1v 引号不能少)命令随便粘贴了(1为指下粘贴板名)

原创粉丝点击