• 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]

  • 相关阅读:
    Owin
    C#不区分大小写的字符串替换(Replace)函数
    如何创建测试程序调试nginx数据结构
    一张脑图说清 Nginx 的主流程
    gdb常用命令记录
    nginx的configure流程
    c 编译器大全
    PHP 的 uniqid 函数产生的 id 真的是唯一的么?
    UUID那些事
    PHP 编码规范
  • 原文地址:https://www.cnblogs.com/xiaodi-js/p/5384565.html
Copyright © 2020-2023  润新知