- 运行程序
- 补全
注意:请不要只复制这份配置文件夹而不认真看它!请至少阅读一下这份自述文件!欢迎star
Process failed to start: Unknown system error -88
- Nvim配置
- 安装此配置后你需要做的事
- 安装此配置后你可能想做的事
- 快捷键
- 插件快捷键 (截图/动图已经准备好!)
- 普通模式
- 可视模式
- 按下
ts来 翻译光标所在的单词. - 自定义代码片段补全
- markdown preview
- 安装
pynvim(使用pip) - 安装
nodejs, 然后在终端输入npm install -g neovim - 安装 nerd-fonts (尽管它是可选的,但是安装之后看上去十分地酷)
- 安装
vim-plug(插件管理器)
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'- 执行
:checkhealth
- 安装
debugpy(使用pip)
- 确保你安装了 Python
- 查看
_machine_specific.vim文件
- 安装
ctags以获得类/函数/变量的三重支持
- 安装
fzf - 安装
ag(the_silver_searcher需要)
- 安装
figlet以输入 ASCII 艺术字 - 安装
xclip以获得系统剪切板访问支持 (仅Linux与xorg需要)
o 折叠 展开代码 gl :查看接口实现
Q : 退出当前 Vim 窗口 (在原版 Vim 中与命令 :q 相同)
S : 保存当前文件 (在原版 Vim 中与命令 :w 相同)
| 行为 | 按键 |
|---|---|
| 将光标向上移动一行 | k |
| 将光标向下移动一行 | j |
| 将光标向左移动一格 | h |
| 将光标向右移动一格 | l |
| 将光标向上移动五行 | K |
| 将光标向下移动五行 | J |
| 将光标移至当前行的第一个字符 | 0 |
| 将光标移至当前行的最后一个字符 | $ |
| 将视角向上移动五行而不移动光标 | Ctrl y |
| 将视角向下移动五行而不移动光标 | Ctrl j |
| 将光标移至当前单词的末尾 | e |
| 将光标移至五个单词后的末尾 | E |
| 将光标移至五个单词前的开头 | W |
| 将光标移至末尾 | L |
| 将光标移至开头 | H |
| 快捷键 | 行为 |
|---|---|
Ctrl a |
将光标移至当前行的末尾 |
Ctrl u |
将光标所在的字母移至当前行的末尾 |
| 快捷键 | 行为 |
|---|---|
l |
撤销 |
< |
反向缩进 |
> |
缩进 |
SPACE SPACE |
删除下一个 并进入插入模式 |
| 快捷键 | 行为 |
|---|---|
r |
编译/运行当前文件 |
SPACE s c |
开关拼写检查 |
SPACE d w |
寻找近处的重复单词 |
SPACE t t |
将四个空格转换为制表符 |
SPACE o |
折叠代码 |
SPACE - |
上一个快速修复位置 |
SPACE + |
下一个快速修复位置 |
\ p |
显示当前文件的路径 |
SPACE / |
在当前窗口下方新建一个终端窗口 |
| 快捷键 | 行为 |
|---|---|
Y |
复制选中文本至系统剪切板 |
| 快捷键 | 行为 |
|---|---|
s k |
新建一个分屏并把它放置在当前窗口的上面 |
s j |
新建一个分屏并把它放置在当前窗口的下面 |
s h |
新建一个分屏并把它放置在当前窗口的左边 |
s l |
新建一个分屏并把它放置在当前窗口的右边 |
s v |
将两个分屏垂直放置 |
s u |
将两个分屏水平放置 |
s r v |
将所有分屏垂直放置 |
s r h |
将所有分屏水平放置 |
| 快捷键 | 行为 |
|---|---|
SPACE + w |
移至下一个窗口 |
SPACE + h |
移至左边的窗口 |
SPACE + l |
移至右边的窗口 |
SPACE + j |
移至上面的窗口 |
SPACE + e |
移至下面的窗口 |
用方向键更改当前窗口的大小
| 快捷键 | 行为 |
|---|---|
Q |
关闭当前窗口 |
SPACE q |
关闭当前窗口下面的窗口 (如果下面没有窗口,则当前窗口将关闭) |
| 快捷键 | 行为 |
|---|---|
t u |
新建一个标签页 |
t h |
移至左侧标签页 |
t l |
移至右侧标签页 |
| 快捷键 | 行为 |
|---|---|
Ctrl n |
退出终端输入模式 |
| 快捷键 | 行为 |
|---|---|
Space y |
打开剪切板历史 |
gd |
列出定义列表 |
gr |
列出参考列表 |
gi |
待办事项清单 |
gy |
转至类型定义 |
Space r n |
重命名变量 |
g h |
显示文档 |
| 快捷键 | 行为 |
|---|---|
Ctrl e |
召唤一个代码片段 |
Ctrl h |
在一个代码片段中前移光标 |
Ctrl e |
在一个代码片段中后移光标 |
| 快捷键 | 函数 |
|---|---|
F5 |
继续调试,如果不在一个调试中则开始进行调试 |
F3 |
终止调试 |
F4 |
用相同的配置重新开始调试 |
F6 |
暂停调试 |
F9 |
在当前行上切换行的断点 |
F8 |
在光标下为表达式添加函数断点 |
F10 |
完成步骤 |
F11 |
下一步骤 |
F12 |
退出当前函数范围 |
| 快捷键 | 行为 |
|---|---|
tt |
打开文件浏览器 |
? |
查看帮助 (在浏览器中) |
- 确定你已经安装了 ranger
按 R 键打开 ranger (文件选择器)
尽量不要直接打开,而是使用c-t
在 rnvimr (ranger) 中, 你可以:
| 快捷键 | 行为 |
|---|---|
Ctrl t |
在新标签页中打开文件(重要) |
Ctrl x |
上下分裂打开当前文件 |
Ctrl v |
左右分裂打开所选文件 |
| 快捷键 | 行为 |
|---|---|
Ctrl p |
模糊查找文件 |
Ctrl k |
向上移动一格 |
Ctrl j |
向下移动一格 |
Ctrl w |
模糊查找缓冲区 |
Ctrl f |
模糊查找文件内容 |
Ctrl h |
模糊查找历史文件 |
Ctrl t |
模糊查找标签 |
| 快捷键 | 行为 |
|---|---|
to |
开关循环标签页模式 |
\p |
显示当前路径 |
| 快捷键 | 行为 |
|---|---|
SPACE t m |
开关表格模式 |
SPACE t r |
重组表格 |
See :help table-mode.txt for more.
| 快捷键 | 行为 |
|---|---|
Shift + L |
打开撤回历史 |
u |
更新的记录 |
e |
更老的记录 |
| 快捷键 | 行为 |
|---|---|
Ctrl+n |
选择下一个键 (多重光标) |
Alt+n |
选择所有键 (多重光标) |
Ctrl+p |
选择上一个键 |
Ctrl+s |
跳过键 |
Esc |
退出多重光标 |
想要添加包裹符号 (string -> "string"):
"string"按下: ysw':
"string"按下:yss
"hello, world"
c想要修改包裹符号
"string"按下: cs'":
'string'
按下:ds :
"string"->string| 命令 | 说明 + 示例 | |
|---|---|---|
| ds | 删除括号 | |
| 例 | ds " |
"Hello world!" =>Hello world! |
| cs | 替换括号 | |
| 例 | cs "( |
"Hello world!" =>(Hello world!) |
| cS | 替换括号,括号内文本做新一行 | |
| 例 | cS "{ |
"Hello world!" =>{ Hello world! } |
| ys | 添加括号(配合vim光标移动) | |
| 例 | ys w [ |
Hello world! =>[Hello] world! |
| 例 | ys w <em Enter |
Hello world! =><em>Hello<em> world! |
| yS | 添加括号,括号内文本做新一行 | |
| 例 | yS w [ |
Hello world! =>[ Hello ] world! |
| yss | 整行括起来 | |
| 例 | yss ( |
Hello world! =>( Hello world! ) |
| ySS | 整行括起来,括号内文本做新一行 | |
| 例 | ySS { |
Hello world! =>{ Hello world! } |
| 例 | ySS <div Enter |
Hello world! =><div> Hello world! <div> |
| ySs | 与ySs功能相同 |
| 命令 | 说明 + 示例 | |
|---|---|---|
| S | 选中的括起来 | |
| 例 | 选中world: S( |
Hello ( world! ) =>Hello (world)! |
| gS | 选中的括起来,括号内文本做新一行 | |
| 例 | 选中world: gS{ |
Hello world! =>Hello { world }! |
新的操作员: s:
您可以执行 s<操作>来使用用默认的寄存器 (或提供的显式寄存器) 的内容替换运动提供的文本对象。例如,您可以执行 skw 将光标下的当前单词替换为当前yank,或执行 skp 替换段落,依此类推
在普通或可视模式下按 ga + 符号 可以根据 符号对齐文本
按 \ f 开启格式化模式
在 Markdown 文件中, 按下 :Gen 打开菜单,你将会看到可选选项
按 ' 键和一个 字母 跳转至 字母 (类似 Emacs 的 AceJump)
按 T 打开函数与变量列表
| 快捷键 | 行为 |
|---|---|
m<letter> |
在当前行添加或删除书签 |
m/ |
列出所有书签 |
mSPACE |
在缓冲区中跳转到下一个书签 |
mt |
在当前行添加或删除书签 |
ma |
在当前行添加注释 |
ml |
显示所有的书签 |
mi |
下一个书签 |
mn |
上一个书签 |
mC |
清除一个书签 |
mX |
清除所有书签 |
mu |
将书签往上提一行 |
me |
将书签往下拉一行 |
SPC g |
将书签移至任意行 |
按下 SPACE f r 在工作目录中搜索
| 快捷键 | 行为 |
|---|---|
H |
在当前行显示 Git 代码块 |
SPACE g - |
去往上一个 Git 代码块 |
SPACE g + |
去往下一个 Git 代码块 |
SPACE g f |
折叠所有除代码块以外的行 |
按 Space g i 来创建一个 .gitignore 文件
类似于vscode中的gitlen 能够显示谁修改的代码
Plug 'APZelos/blamer.nvim'
| 快捷键 | 行为 |
|---|---|
\ \ |
显示时钟 |
\ c |
显示日历 |
按下 g y 开关 Goyo
想要忘记以前痛苦的 sudo vim ...? 只需要在 Vim 中执行 :sudowrite 或者 :sw
<++>
| 快捷键 | 创建的文字 |
|---|---|
,n |
--- |
,b |
粗体文字 |
,s |
|
,i |
斜体文字 |
,d |
代码块 |
,c |
大的 代码块 |
,m |
- [ ] 清单 |
,p |
图片 |
,a |
链接 |
,1 |
# H1 |
,2 |
## H2 |
,3 |
### H3 |
,4 |
#### H4 |
,l |
-------- |
,g |
img |
,f 去往下一个 <++> (占位符)
,w 去往下一个 <++> (占位符) 并帮你按下 Enter
- install server:
npm -g install instant-markdown-d<++> - or install mini server
pip install --user smdv<++> (need pandoc) "## 自动保存 " "
"
"## 一些奇怪的东西
"### 按 tx 然后输入你想要的文字
tx Hello<Enter>
_ _ _ _
| | | | ___| | | ___
| |_| |/ _ \ | |/ _ \
| _ | __/ | | (_) |
|_| |_|\___|_|_|\___/
此 NeoVim 配置包含了一套对 Colemak 用户量身定制的垂直光标移动, 它位于 cursor.vim 中, 并且可以替代 “数字 + 上 / 下” 的案件组合
为了将光标向上移至 x 行, 可以按下 [ 键, 并将 Colemak 键盘布局的中间行 (“arstdhneio”) 视为从 1 到 0 的数字, 按所需的数字, 再按下空格键以跳转至 x 行之上
要向下移动光标, 按 ' 键而不是 [ 键, 其余部分相同
例:
| 快捷键 | 行为 |
|---|---|
[ a o o SPACE |
将光标向上移动 100 行 |
' a r s SPACE |
将光标向下移动123行 |
[ d o SPACE |
将光标向上移动50行 |
注意: 目前, 使用此移动方式, 你最多只能垂直移动 199 行!
gcc normal mode can comment and uncomment
gc visual mode
gcap comment the graph
You can also use it as a command, either with a range like :7,17Commentary,
or as part of a :global invocation like with :g/TODO/Commentary.
sec:注释块 comment section
安装vimtex,coc-vimtex
coc-vimtex vim-snippets coc-snippets
快速跳转至下一个或上一个 section 章节:[[、]]、][、[];
删除包含当前内容的环境标签:dse (Delete surrounding environment);
更换包含当前内容的环境标签:cse (Change surrounding environment);
更换有 * 和无 * 的环境标签(比如将 equation* 更换为 equation、将 figure* 更换为 figure 等)tse (Toggle starred environment):
https://github.com/lervag/vimtex#features
自定义快捷键:
tc::VimtexTocToggle
to::VimtexTocOpen
tv:VimtexView
首先:upic上传图片
展开:c-l (expand) 选择:c-j 下一个placeholder:c-j


























