- 运行程序
- 补全
注意:请不要只复制这份配置文件夹而不认真看它!请至少阅读一下这份自述文件!欢迎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