vim点滴

vim点滴

 

学习vim的时候,需要掌握很多的命令,但是很难一下子把这么多的命令都记住,并且如果很长一段时间不用,就全忘了,所以这里把一些常用到的命令写下来。

 

1.  i – insert 在当前光标处插入

 

2.  I – insert 在行首插入
 

 

3.  a – append 在当前光标后插入

 

4.  A – append 在行尾附加
 

 

5.  v – visual 可视模式


 

6.  y – yank 复制


 

7.  p – paste 粘帖


 

8.  cc – 擦出当前行内容,并且进入编辑模式


 

9.  dd – 擦除当前行


 

10 .  o – 在当前行的下面插入一行,并进入编辑模式。  
 


 

12.  O – 在当前行的前面插入一行,并进入编辑模式。   


 

12.  wq – write and quit – 保存并退出。

 

:wa write all changed files (save all changes), and keep working
:xa exit all (save all changes and close Vim)
:qa quit all (close Vim, but not if there are unsaved changes)
:qa! quit all (close Vim without saving—discard any changes)

wa  将当前打开的所有的文件保存

xa   将当前打开的所有的文件保存并退出vim

qa   关闭所有的文件,并退出vim,但是如果当前的有没有保存的文件,则会提示你先保存

qa!   强制关闭所有的文件,并退出vim,即使有没保存的文件
 


 

13  q – quit 退出。


 

14  q!- 不保存强制退出

 

15. yy – 快速复制当前行

 

16. [n]yy – 快速复制多行,如5yy,快速复制5行
 

 

17. edit – 重新载入磁盘文件

 

18. [n]dd,同时删除多行,n可以为任意数字,比如:10dd,就是同时删除10行。

 

19. 搜索 –   /[word]或?[word],前者为向前搜索,后者为向后搜索。如 ?class,就是向后搜索class


 

20. 替换 -[range]s[ubstitute]/{pattern}/{string}/[flags] [count]

这里的flags:

    c: 每次都确认

    g:替换所有的出现在一行的字符串

    i:忽略大小写

举例:

   a.   替换整个文件中old-text用new-text

   %s/old-text/new-text/g

   b.  替换一行中文字:

 

   s/old-text/new-text/ig

   c. 替换1到10行中文字:

 

   1,10s/old-text/new-text/g

 d. 如果有特殊符号使用
  :%s/<foo>/bar/gc

 

21.  u – undo, 撤销

 

22.  ctrl +r – redo,  重新做

 

23.  :args  , 查看当前打开的文件

 

24.  <            为向左缩进一个tab,

        >             表示向右缩进一个tab。 可以同时选中多行进行缩进

 

25.  gU, 选中的部分变成大写,

        gu, 选中的部分变成小写。      执行这2个命令可以先在可视模式下,选中想要变大小写的文字。

 

26.  在非编辑模式复制文字。可以直接使用 y 复制。如 y$ 表示从当前光标处复制到行尾。

 

27.  在vim中查看vim的命令,在命令行模式输入: help   [命令名],例如要查看yy的是做什么的,有什么用法,则可以: help  yy

 

28.  dt [], 删除从当前光标开始到某个特定字符结束的的内容。例如: dt  "          表示删除光标后的内容直到遇到 "

 

29.  全选。 gg 先去到首行,然后 V 切换到行可视模式,记住是大写的V,然后在使用G就可以实现全选了。

 

30. vim 执行shell命令,使用 !, 例如使用ls命令那么: ! ls

 

31. 删除光标后一个单词  dw,  删除光标前一个单词   db. 如果光标在单词中间就分别用 bdw  和  bved
 

 

32. 拷贝光标后一个单词 yw, 拷贝前一个单词  vey. 如果光标在单词中间就分别用 byw  和  bvey

 

33. 重新载入文件  edit, 后面什么参数或者文件也不用加就是重新载入当前文件

 

34. 如果打开了一个没有权限写的文件,保存时会出错,可以时使用:  w ! sudo tee %


 

35. set hisearch会让查找的字符串以黄色的显示,有时它会一致显示,很难看,如果你想取消,可以使用 :nohl  或者再次随便搜索不存在的字符,如:

      ?sdkfhdifa;sdjdaso


 

36. 在当前文件中搜索,使用?pattern就可以了,但是如果想在多个文件中搜索的话,就需要是用vimgrep,这个命令相当于linux的grep的命令,格式如下:

:vimgrep pattern/gj *.c *.php ./tmp/*.c

然后使用

:cw

就会列出所有搜索到的文件。

使用hjkl或者方向键就可以选择不同的文件,回车就会打开该文件。


 

37. vim中多种折叠方式,有

indent

manual

marker

syntax

diff

expr

我比较喜欢第一种,是因为简单,足够我用了,其实具体的解释可以在vim中使用

:help foldmethod

来查看

选中一款自己的喜欢的,然后在vim的配置文件中设置

set foldmethod=indent


 

za: 收起或者打开光标所在的折叠

zm/M:收起所有的折叠

zr/R:打开所有的折叠

zj:移动到下一个折叠

zk:移动到上一个折叠


 

38. 冒号命令行模式,直接拷贝剪贴板中的内容

ctrl + r 

然后再按剪贴板的编号,比如是默认剪贴板就是双引号 “

 

39. 从当前字符删除到行末

D

或者

d$
 

 

40. 显示当前文件名

:file


 

41. 显示当前文件的全路径

1 + CTRL + g

 

42. windows vim中在插入模式下,backspace不工作的,可以使用下面的命令,

 

:set backspace=2

你也可以直接将这个命令放入你的 vimrc中。

 

43.拷贝行到行

2,5y a

 

拷贝行2 到5到寄存器 a

:7pu a

拷贝寄存器a的内容到行7.

 

44. 替换

全文替换

:%s/word/word_replaced/gc

从行到行,例如替换10到20行

:10,20s/word/word_replaced/gc

 

45. 查找

:/word     向上查找

:?word     向下查找

全匹配查找

:/\<word\>

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.

    分享到:

Leave a Reply

Your email address will not be published. Required fields are marked *