SpaceVim安装使用
1. 根据官方文档一键安装
curl -sLf https://spacevim.org/cn/install.sh | bash
2. 打开编辑器完成初始化
初次安装spacevim会在第一次打开vim后开始初始化
建议安装完成后直接输入vim开始初始化
3. 修改配置
安装完成后,会在用户家目录下生成一个隐藏目录.SpaceVim.d
修改init.toml进行定制
# 这是一个基础的 SpaceVim 配置示例# 所有的 SpaceVim 选项都列在 [options] 之下[options]# 设置 SpaceVim 主题及背景,默认的主题是 gruvbox,如果你需要使用更# 多的主题,你可以载入 colorscheme 模块colorscheme = "gruvbox"# 背景可以取值 "dark" 或 "light"colorscheme_bg = "dark"# 启用/禁用终端真色,在目前大多数终端下都是支持真色的,当然也有# 一小部分终端不支持真色,如果你的 SpaceVim 颜色看上去比较怪异# 可以禁用终端真色,将下面的值设为 falseenable_guicolors = true# 设置状态栏上分割符号形状,如果字体安装失败,可以将值设为 "nil" 以# 禁用分割符号,默认为箭头 "arrow"statusline_separator = "nil"statusline_inactive_separator = "bar"# 设置顶部标签列表序号类型,有以下五种类型,分别是 0 - 4# 0: 1 ➛ ➊# 1: 1 ➛ ➀# 2: 1 ➛ ⓵# 3: 1 ➛ ¹# 4: 1 ➛ 1buffer_index_type = 4# 显示/隐藏顶部标签栏上的文件类型图标,这一图标需要安装 nerd fonts,# 如果未能成功安装这一字体,可以隐藏图标enable_tabline_filetype_icon = true# 是否在状态栏上显示当前模式,默认情况下,不显示 Normal/Insert 等# 字样,只以颜色区分当前模式enable_statusline_mode = false# SpaceVim 模块设置,主要包括启用/禁用模块# 启用 autocomplete 模块,启用模块时,可以列出一些模块选项,并赋值,# 关于模块的选项,请阅读各个模块的文档[[layers]]name = "autocomplete"auto-completion-return-key-behavior = "complete"auto-completion-tab-key-behavior = "cycle"# 禁用 shell 模块,禁用模块时,需要加入 enable = false[[layers]]name = "shell"enable = false# 添加自定义插件[[custom_plugins]]name = "lilydjwg/colorizer"merged = false
更多使用请参照 这份文档
如果想要卸载SpaceVim,使用如下命令
curl -sLf https://spacevim.org/cn/install.sh | bash -s -- --uninstall
Vim一键添加作者信息
编辑 /etc/vimrc
"将键盘上的F4功能键映射为添加作者信息的快捷键map <F4> ms:call TitleDet()<cr>'sfunction AddTitle()call append(0,"/*******************************************************************************")call append(1," * Author : Tang Zhongliang")call append(2," * Email : chaoxcores@gmail.com")call append(3," * Last modified : ".strftime("%Y-%m-%d %H:%M"))call append(4," * Filename : ".expand("%:t"))call append(5," * Description : ")call append(6," * *****************************************************************************/")echohl WarningMsg | echo "Successful in adding the copyright." | echohl Noneendf"更新最近修改时间和文件名function UpdateTitle()normal m'execute '/# *Last modified:/s@:.*$@\=strftime(":\t%Y-%m-%d %H:%M")@'normal "normal mkexecute '/# *Filename:/s@:.*$@\=":\t\t".expand("%:t")@'execute "noh"normal 'kechohl WarningMsg | echo "Successful in updating the copy right."| echohl Noneendfunction"判断前10行代码里面,是否有Last modified这个单词,"如果没有的话,代表没有添加过作者信息,需要新添加;"如果有的话,那么只需要更新即可function TitleDet()let n=1while n < 10let line = getline(n)if line =~'^\#\s*\S*Last\smodified:\S*.*$'call UpdateTitle()returnendiflet n = n + 1endwhilecall AddTitle()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文件删除
