vim学习笔记

1. vim中保存只读文件  :w !sudo tee %

2. vim中删除当前字符 x

3. vim中移动当行首 0

4. vim中移动光标到行尾 $

5. vim中移动光标到行首非空白字符 ^

6. 在当前行首插入字符 I

7. 在当前光标之前插入字符 i

8. 在当前光标之后插入字符 a

9. 在当前行尾插入字符 A

10. 在当前光标下方插入新行 o

11. 在当前光标上方插入新行 O

12. 替换当前光标所在字符 s

13. 替换当前光标所在行 S

14. 替换当前光标所在字符并返回normal模式,r

15. 连续替换当前光标所在字符 R

16. 删除当前行 dd, 删除当前字符dl, 删除当前单词dw

17. 复制光标所在段落 yap, 复制当前行yy, 复制单词yw,  复制当前字符yl

18. 交换两个字符的位置xp, 交换两个单词之间的位置dwwP,交换两行之间的位置 ddp

19. 在当前光标之后黏贴p, 在当前光标之前黏贴P

20. 向左移动一个字符 h

21. 向下移动一个字符 j

22. 向上移动一个字符 k

23. 向右移动一个字符 l

22. 向后翻屏 ctrl +b

23. 向前翻屏 ctrl +f 

24. 移动到第一行 1g

25. 移动到尾行 G

26. 向后移动一个单词位置,光标在词首 w

26. 向后移动一个单词位置,光标在词尾 e

27. 向前移动一个单词位置, b

28. 向前移动一个句子位置,(

28. 向后移动一个句子位置,  )

29. 向前移动一个段落的位置,{

30. 向后移动一个段落的位置, }

31. 为当前行做标记 m + [a-z,A-Z], 返回到标记为 ‘ + [a-z, A-Z]

32. 跳到上一个位置 ctrl + o

33. 跳到下一个位置 ctrl + i

34. 将光标移动到文本起始位置,按v进入visual模式,移动光标到文本末尾位置,则此段文本被选中,按c即可删除文本并进入插入模式。

35. 在当前光标输入V,进入visual模式,并选中当前行,移动光标则以行为单位选中文本,按c删除所选文本,进入插入模式

36. 在当前光标输入v,进入visual模式,输入ap,选中整个段落,输入aw选中当前单词,光标在(上则输入ab则选中()中的内容,按~可对选中单词进行大小写转换。

37.  临时退出vim,进入shell环境的方法:

      (1) 键入:sh 进入shell环境,键入exit 退出shell回到vim

      (2) 键入ctrl + z, 进入shell, 键入fg,回到vim 

38. 进入搜索模式 /keyword , 按Enter进行搜索, 按n,跳到下一个搜索的位置,N,向后跳到前一个位置

39. 同时打开多个文件,:e filename,  查看文件列表::ls,切换到某一个文件::b number , 关闭某一个文件的buffer,:bd number

40. 同时打开多个视图,:new 新建一个视图, ctr+h , j ,k, l 在各个视图之间进行切换; 按 ctrl + w 两次,在视图之间循环;ctrl +w +r 交换两个视图的位置

41. 水平切分一个视图,:sp, 垂直切分一个视图,:vsp, 最大化当前视图 ctrl+w+_ , 调整窗口大小::resize 20

42. 打开多个tab页::tabnew, 切换到下一个tab:gt, 切换到上一个tab:gT, 关闭tab::q or :tabc, 切换到指定(第一个)tab: tabmove 0

43. 复制文档全部内容, ggyG

44. 删除文档全部内容,dG

45. 在源代码中从一个[ or { 跳转到它的另一个闭合处 使用 %

46. 在源代码中从一个变量处 通过过gd可以跳转到变量定义处

47. 查看buffer列表, :ls

48. 将文件加入buffer, :bad pathTofile

49. 将buffer中的文件加载进window, :b{n} ,其中n为buffer在列表中的编号

50. 删除buffer,bd{n} , n 为buffer在列表中的编号

51. 在文件中全局替换:%s#findString#replaceString#g

52. 创建vim session文件 :mks filename, 重写session :mks! filename,  载入session vim -S sessionFile

53. vim 搜索后消除高亮,:noh, 设置高亮: set hls

54. 一次性重复输入多个相同字符, 20a=^ESC (^为esc按键),此命令在当前字符后插入了20个=

55. 代码折叠:zo, zO, 打开光标下的折叠, zc, zC, 关闭光标下的折叠,za, zA, 打开或关闭折叠, zr,逐步打开折叠,zR一次打开所有折叠,

                    zm逐步关闭折叠,zM一次性关闭所有折叠,zf创建折叠。

56. :mks sessionFile  为当前vim环境创建session,vim -S sessionFile 打开vim时同时载入session

57. 查看文件编码,:set fileencoding, 转换文件编码,:set fileencoding=utf-8

58. 将一行字符转为小写:guu, 转为大写:gUU. 将当前字符转为小写,vu, 转为大写:vU. 查看当前字符的utf-8编码 g8.

59. >> 右缩进当前行,<<左缩进当前行, == 对齐缩进当前行, =% 缩进整个语句块,gg=G缩进整个文件。

60. 在normal模式键入v,进入visual模式,利用jkhl,进行字符选中。键入V,进入line visual模式,按住jk,按照行选中。键入ctrl + v, 进入block visual模式,按照区块选中。

61. 在normal模式下,键入gh进入select模式,在normal模式下键入Q进入Ex模式(多行命令行)

62. 在normal模式下,m [a-z,A-Z] 添加标记。' [a-z], 跳转到标记所在的行,`[a-z], 跳转到标记处, [A-Z], 可定义跨文件的标记。:marks 列出所有的标记,:delmarks [a-z] 删除指定标记。:delmarks! 删除所有标记。

63. locationList窗口操作命令, :lcl 关闭窗口,:lop 打开窗口, :lne, 下一个错误处,:lpr 上一个错误处。

64. quickfix 窗口操作命令,:ccl 关闭窗口,:cop 打开窗口 

65. 在normal模式下,*在当前文件中搜索光标所在单词,g* 搜索光标所在单词在文件中的字符序列。

66. 查找与替换,格式为 :{作用范围}/{目标}/{替换}/{替换标志}, 其中/ 也可用#代替。作用范围包括:当前行:s/foo/bar/g 全文:%s/foo/bar/g 选区:.,+2s/foo/bar/g (在visual模式按:即可补全s之前的内容), 替换标志g 为全局替换, i为大小写不敏感,I为大小写敏感,c表示需要确认。

67. 使用vim的出厂设置: vim -u NONE -N  , -u NONE 表示启动时不加载vimrc, -N 防止进入vi兼容模式。

68. 查看vim教程 :h vimtutor

69. ; 重复上次f或F的查找;而 , 则回退f 或F 的查找; . 重复上次的修改。

70. s 删除当前字符并进入编辑模式,等价于cl; S 删除当前行并进入编辑模式,等价于cc; x 删除单个字符。

71. 5<C-a> 对当前光标之上或之后的数字增加5,5<C-x> 对当前光标之上或之后的数字减去5

72. 查看跳转列表 :jumps , ctrl + o 向后跳转, ctrl + i 向前跳转

73. 查看改变列表 :changes , g; 回到上次更改的地方向后遍历,g, 向前遍历, gi 跳转到上次插入的地方,并切换到插入模式。

74. 查看vim版本::version。

75. 在文件中跳转: m[a~z] 可以在一个文件中标记26处,跳转到标记的某一行处,'[a~z] 如果调到具体位置`[a~z]

76. 在文件之间跳转: m[A~Z], 在文件中某处标记后可以,可以在文件之间进行跳转 '[A~Z] 如果跳转到具体位置`[A~Z]

77. %, 在代码中跳转到匹配相应的( [ {,   [(, 用于跳转到前一个不匹配的 ( 。

78. g^, 在一个很长的行中跳转到视觉中的行的开头,g$, 在长行中跳转到视觉中的行末尾。

 

posted @ 2017-04-01 01:14  箫笛  阅读(1381)  评论(0编辑  收藏  举报