SpaceVim安装使用

1. 根据官方文档一键安装

  1. curl -sLf https://spacevim.org/cn/install.sh | bash

2. 打开编辑器完成初始化

初次安装spacevim会在第一次打开vim后开始初始化

建议安装完成后直接输入vim开始初始化

3. 修改配置

安装完成后,会在用户家目录下生成一个隐藏目录.SpaceVim.d

修改init.toml进行定制

  1. # 这是一个基础的 SpaceVim 配置示例
  2. # 所有的 SpaceVim 选项都列在 [options] 之下
  3. [options]
  4. # 设置 SpaceVim 主题及背景,默认的主题是 gruvbox,如果你需要使用更
  5. # 多的主题,你可以载入 colorscheme 模块
  6. colorscheme = "gruvbox"
  7. # 背景可以取值 "dark" 或 "light"
  8. colorscheme_bg = "dark"
  9. # 启用/禁用终端真色,在目前大多数终端下都是支持真色的,当然也有
  10. # 一小部分终端不支持真色,如果你的 SpaceVim 颜色看上去比较怪异
  11. # 可以禁用终端真色,将下面的值设为 false
  12. enable_guicolors = true
  13. # 设置状态栏上分割符号形状,如果字体安装失败,可以将值设为 "nil" 以
  14. # 禁用分割符号,默认为箭头 "arrow"
  15. statusline_separator = "nil"
  16. statusline_inactive_separator = "bar"
  17. # 设置顶部标签列表序号类型,有以下五种类型,分别是 0 - 4
  18. # 0: 1 ➛ ➊
  19. # 1: 1 ➛ ➀
  20. # 2: 1 ➛ ⓵
  21. # 3: 1 ➛ ¹
  22. # 4: 1 ➛ 1
  23. buffer_index_type = 4
  24. # 显示/隐藏顶部标签栏上的文件类型图标,这一图标需要安装 nerd fonts,
  25. # 如果未能成功安装这一字体,可以隐藏图标
  26. enable_tabline_filetype_icon = true
  27. # 是否在状态栏上显示当前模式,默认情况下,不显示 Normal/Insert 等
  28. # 字样,只以颜色区分当前模式
  29. enable_statusline_mode = false
  30. # SpaceVim 模块设置,主要包括启用/禁用模块
  31. # 启用 autocomplete 模块,启用模块时,可以列出一些模块选项,并赋值,
  32. # 关于模块的选项,请阅读各个模块的文档
  33. [[layers]]
  34. name = "autocomplete"
  35. auto-completion-return-key-behavior = "complete"
  36. auto-completion-tab-key-behavior = "cycle"
  37. # 禁用 shell 模块,禁用模块时,需要加入 enable = false
  38. [[layers]]
  39. name = "shell"
  40. enable = false
  41. # 添加自定义插件
  42. [[custom_plugins]]
  43. name = "lilydjwg/colorizer"
  44. merged = false

更多使用请参照 这份文档

如果想要卸载SpaceVim,使用如下命令

  1. curl -sLf https://spacevim.org/cn/install.sh | bash -s -- --uninstall

Vim一键添加作者信息

编辑 /etc/vimrc

  1. "将键盘上的F4功能键映射为添加作者信息的快捷键
  2. map <F4> ms:call TitleDet()<cr>'s
  3. function AddTitle()
  4. call append(0,"/*******************************************************************************")
  5. call append(1," * Author : Tang Zhongliang")
  6. call append(2," * Email : chaoxcores@gmail.com")
  7. call append(3," * Last modified : ".strftime("%Y-%m-%d %H:%M"))
  8. call append(4," * Filename : ".expand("%:t"))
  9. call append(5," * Description : ")
  10. call append(6," * *****************************************************************************/")
  11. echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
  12. endf
  13. "更新最近修改时间和文件名
  14. function UpdateTitle()
  15. normal m'
  16. execute '/# *Last modified:/s@:.*$@\=strftime(":\t%Y-%m-%d %H:%M")@'
  17. normal "
  18. normal mk
  19. execute '/# *Filename:/s@:.*$@\=":\t\t".expand("%:t")@'
  20. execute "noh"
  21. normal 'k
  22. echohl WarningMsg | echo "Successful in updating the copy right."| echohl None
  23. endfunction
  24. "判断前10行代码里面,是否有Last modified这个单词,
  25. "如果没有的话,代表没有添加过作者信息,需要新添加;
  26. "如果有的话,那么只需要更新即可
  27. function TitleDet()
  28. let n=1
  29. while n < 10
  30. let line = getline(n)
  31. if line =~'^\#\s*\S*Last\smodified:\S*.*$'
  32. call UpdateTitle()
  33. return
  34. endif
  35. let n = n + 1
  36. endwhile
  37. call AddTitle()
  38. endfunction

添加后保存即可使用,需要注意的是如果快捷键与windows软件冲突的话可能不会成功,需要仔细排查

Vim简单快捷键

视图模式

  • 跳转

    • gg, 跳转到文件首行
    • G, 跳转到文件尾行
    • 10gg、10G,跳转到第10行
    • ^ 、Home键、0,跳转到行首
    • $、End键,跳转到行尾
  • 删除

    • dd,删除当前行
    • 3dd,包含光标所在行向下删除3行
    • dG,删除光标所在到文件尾
    • u,撤销上一次操作
    • D、d+End、d+$,删除光标所在到行尾
    • d+0、d+home、d+^,删除光标所在到行首
    • dw,删除一个单词
  • 复制粘贴

    • yy,复制光标所在行
    • 3yy,复制包含光标所在行往下3行
    • p 粘贴复制的内容
    • 10p,粘贴10次
  • 退出

    • ZZ 视图模式下,保存并退出

编辑模式

  • i、s,进入编辑模式
  • o,在光标行后建立新行编辑
  • O,在光标行前建立新行编辑
  • C,删除光标所在行到行尾,并进入编辑模式
  • ESC,退出编辑模式回到视图模式

底行命令模式

  • :set nu 设置行号
  • :set nonu 取消行号
  • :wq 保存并退出
  • :wq! 保存并强制退出
  • :q 退出不保存
  • :q! 强制退出不保存

CTRL+V进入视图模式

批量添加

  • 视图模式用上下左右选定区域,按”I”,可以插入字符,然后按两次ESC可以将字符添加到每一行

批量删除

  • 视图模式下选定区域之后,可以按d或者X删除

复制内容

  • 普通模式

    • yy复制,p粘贴
  • 底行命令模式

    • :1copy4复制第一行内容粘贴到第四行后

移动内容

  • 普通模式

    • dd剪切,p粘贴
  • 底行命令模式

    • :1move4移动第一行到第四行

搜索内容

  • /内容 ,可以进行查找,N上一个,n下一个

取消当前搜索高亮显示

  • :noh

Vim一个新手会迷惑的错误

产生错误的原因

  • 错误原因1:正在编辑文件,然后窗体忽然关闭,生成的.filename.swp文件不会自动删除
  • 错误原因2:两个人同时在编辑一个文件,或者是打开了两个窗口来编辑同一个文件,会产生.filename.swp文件不会自动删除

解决办法

  • 1.如果打开了两个窗口或者在同时编辑,其中一个先关闭退出
  • 2.不重要的编辑直接删除.filename.swp
  • 3.重要的文件可以使用vim -r filename来打开文件,然后:wq保存修改退出,再将.filename.swp文件删除