SpaceVim
更新
git -C ~/.SpaceVim pull .
问题
miniconda带的python可能会导致import socket 的 UnicodeFormat的错误…现在正在解决issue
配置目录
~/.SpaceVim.d/init.toml
主题
先在配置文件中加入
[[layers]]
name = "colorscheme"
然后启动SpaceVim时会自动装自带的主题
修改即可更改主题
[options]
colorscheme = "onedark"
如果用github上的主题
[options]
colorscheme = "OceanicNext"
colorscheme_bg = "dark"
# 添加自定义主题:https://github.com/mhartington/oceanic-next
[[custom_plugins]]
name = "mhartington/oceanic-next"
merged = 0
设置默认缩进
(1) Config ~/.SpaceVim.d/init.toml
你可能想让默认的缩进为4个空格,那么在~/.SpaceVim.d/init.toml中加入
[options]
default_indent = 4
python
在配置文件中加入
[[layers]]
name = "lang#python"
安装flake8 isort jedi yapf
flake8 : for syntax checking feature
yapf : for formatting code
autoflake : for uppress unused imports
isort : for sort your imports
关闭vim兼容模式
vimcompatible = false
快捷键导航
默认情况下,快捷键导航将在输入延迟超过 1000ms 后打开,你可以通过修改 vim 的 ‘timeoutlen’ 选项来修改成适合自己的延迟时间长度。
快捷键
功能 | 快捷键 |
---|---|
进入配置文件 | SPC f v d |
高亮代码对齐线 | SPC t h i |
显示/隐藏行号 | SPC t n |
跳转到标签i | SPC i |
下一个窗口 | Tab |
上一个窗口 | Shift Tab |
竖分屏 | sv 需要关闭vim兼容模式 |
横分屏 | sg 需要关闭vim兼容模式 |
关闭其他窗口 | so(only) |
打开新tap | st(tabnew) |
跳转到标签1 | (默认’’) 1 |
关闭窗口 | q 或者 s + q 关闭当前buffer,关闭当前 buffer (:close) 不能关闭最后一个buffer |
下一页 | Ctrl+f PgDnmok |
上一页 | Ctrl+b PgUp |
下滚3行 | Ctrl+e |
上滚3行 | Ctrl+y |
} | 跳到之后的第一个空行 |
选中上一个粘贴? | gp |
跳到命令头 | Ctrl+a Command |
向前移动光标 | Ctrl+b Command |
向后移动光标 | Ctrl+f Command |
让界面卡住 | ctrl +s 恢复 ctrl + q issue |
进入/退出vimfile | F3 |
g | 跳到头 |
shift g | 跳到尾 |
* | 向前查找选择的 |
# V | 向后查找选择的 |
jk | 离开插入模式 |
Ctrl+w | Delete backward path |
H | 光标移至屏幕最上方(Vim 原生功能,无映射) |
L | 光标移至屏幕最下方(Vim 原生功能,无映射) |
SPC | j 0 跳至行首(并且标记原始位置) |
SPC | j $ 跳至行尾(并且标记原始位置) |
SPC b N h | 在左侧新建一个窗口,并在其中新建空白 buffer |
SPC b N j | 在下方新建一个窗口,并在其中新建空白 buffer |
SPC b N k | 在上方新建一个窗口,并在其中新建空白 buffer |
SPC b N l | 在右侧新建一个窗口,并在其中新建空白 buffer |
SPC b N n | 在当前窗口新建一个空白 buffer |
SPC f s | 保存文件 |
SPC f S | 保存所有文件 |
. | 切换显示隐藏文件(文件树中) |
gd | 跳至定义处 |
ctrl + r | 重做 |
u | 回退 |
. | 重做上一个动作 |
gh(v) | select mode |
SPC c | comment lines |
SPC ; 数字 j\k | 注释几行 |
SPC l r | 运行(python) |
SPC [ | 前加空行 |
SPC ] | 后加空行 |
:terminal | 终端 |
F2 | tagbar(需要安装ctags) |
n | 向下移动n行 |
dd | 删除游标所在的那一整行(常用) |
nc | 向下删除n行 |
问题
buffer 可以理解为一个文件
一个tab里可以有多个window,window是用来显示buffer的,sq可以关闭当前窗口显示的buffer,这时,所有显示了这个buffer的窗口都会被关闭
vim 快捷键
本质是光标移动
前加数字是重复动作的次数
功能 | 快捷键 |
---|---|
q! | 丢弃修改并退出 |
wq | 保存并退出 |
x | 删除当前选中的字符 |
i a o | 当前位置编辑 当前后一个位置编辑 下一行编辑 |
w e $ 0 | 移动到这个词后一个字符上,移动到这个词后一个字符上,移动到行末,移动到行首 |
dw | 删除选中词(同时删除词后的一个字符,往往是空格) |
de | 删除选中词 |
d$ | 删除本行之后的所有字符 |
ne/w | 移动n个词 |
dnw | 删除n个词 |
dd | 删除整行,并存储在vim register中 |
2dd | 删除两行 |
n方向 | 某方向移动n次 |
u | undo |
U | 让某行还原 |
p | 在光标位置下一行粘贴 |
r | 替换,输入r后输入字符替换当前字符 |
ce | 删除词,并进入insert模式 |
ctrl g | 查看当前位置 |
G | 移动到底部 |
gg | 移动到顶部 |
数字+G | 移动到指定行 |
/词 | 正向搜索 |
?词 | 反向搜索 |
nN | 切换到上下一个 |
% | 光标放在()[]{}上,%可以在匹配的括号间跳转 |
?/old/new/(g) | 用new替换old,使用g的话就是对该行中所有替换,否则只替换第一个 |
:#,#s/old/new/g | 第#行到第#行中 |
:%s/old/new/g | 全文件中 |
:%s/old/new/gc | 全文件中,询问是否替换 |
:!+shell命令 | 执行外部命令 |
v选择后 :+w | 可以选中区域保存 |
r 文件 | 将文件内容加在光标位置 |
r !命令 | 将命令输出加在光标位置 |
o O | 在下一行开空行,在上一行开空行 |
A | 在行末编辑 |
e | 下一个词末 |
R | 不只替换一个 |
:set ic | 无视大小写搜索 取消:set noic,仅当次搜索/ignore\c |
:set hls | 高亮 取消:nohlsearch |
:set is | 部分匹配 |
:help 命令 | 帮助 |
ctrl D | 提示\在:下使用 |
TAB | 补全 |
:set number | 显示行号 |
yy | 复制当前行 |