在powershell中执行以下代码
md ~\AppData\Local\nvim\autoload
$uri = 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
(New-Object Net.WebClient).DownloadFile(
$uri,
$ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath(
"~\AppData\Local\nvim\autoload\plug.vim"
)
)
在nvim中执行以下命令
:call mkdp#util#install()
显示:hi
:enew|pu=execute('hi')
显示:lua print(vim.inspect(package.loaded))
enew|pu=execute('lua print(vim.inspect(package.loaded))')
显示:lua print("Leaderf gtags -s %s --top --auto-preview")
enew|pu=execute('lua print(\"Leaderf gtags -s %s --top --auto-preview\")')
显示:lua print(vim.fn.printf("Leaderf gtags -s %s --top --auto-preview", vim.fn.expand('<cword>')))
:echo printf('Leaderf gtags -s %s --top --auto-preview', expand('<cword>'))
:execute printf('Leaderf gtags -s %s --top --auto-preview', expand('<cword>'))
查看所有可配置选项
:h option-list
查询某个选项当前配置,以background为例
:set background?
1. markdown keybind | ||
---|---|---|
Key | Function | |
`+` | 跳转到下个锚点 | |
`+tab | 跳转到下个锚点(并换行) | |
`+1 | 我最常用的标题 | |
`+2 | 一级标题 | |
`+3 | 二级标题 | |
`+space | 分割线 | |
`+s | 代码大块 | |
`+h | 红色字体 | |
`+m | 复选框可在[x],表示打勾 | |
`+l | 添加链接 | |
`+p | 添加图片 | |
`+c | 文字居中 | |
`+u | 一行红色字 | |
`+a | 可折叠代码段,用于添加log |
|
`+e | 可折叠图片 |
|
`+j | 斜体 | |
`+k | 粗体 | |
`+d | 删除线 | |
`+b | 一行代码块 | |
`+n | 显示看起来像按键 | |
space+mm | 开启做表模式,配合"|".":"可以控制对齐方式 |
|
space+mt | 格式化表格 |
2. 基本操作 | ||
---|---|---|
Key | Function | |
2-1. 光标移动 | ||
W | 光标向上移动5行 | |
S | 光标向下移动5行 | |
A | 光标向左移动5行 | |
D | 光标向右移动5行 | |
a | 光标向左边单词移动 | |
d | 光标向右边单词移动 | |
2-2. 删除 | ||
CTRL+j | 删除光标所在单词 | |
CTRL+h | 向前删除字母 | |
CTRL+z | 删除多余的空格 | |
SPACE+ENTER | 取消 [删除多余空格] 后的高亮 | |
j j | 删除整行 | |
2-3. 进入插入模式 | ||
s | 删除当前字母并进入插入模式 | |
e | 当前光标后插入 | |
2-4. 选定文本复制/粘贴/删除 | ||
v | 进入选择文本模式(行文本选择模式) | |
ENTER | 区域选择 | |
CTRL+v | 进入选择文本模式(矩形的文本选择) | |
CTRL+c | 复制 | |
p | 粘贴 | |
CTRL+r | 在插入模式下粘贴 |
|
j | 删除选定区域 |
3. 分屏操作 | ||
---|---|---|
Key | Function | |
wd | 右分屏 | |
wa | 左分屏 | |
ww | 上分屏 | |
ws | 下分屏 | |
ALT+d | 窗口焦点右移 | |
ALT+a | 窗口焦点左移 | |
ALT+w | 窗口焦点上移 | |
ALT+s | 窗口焦点下移 | |
CTRL+ALT+d | 当前窗口变宽 | |
CTRL+ALT+a | 当前窗口变窄 | |
CTRL+ALT+w | 当前窗口变高 | |
CTRL+ALT+s | 当前窗口变矮 | |
wn | 新tab标签 | |
gn | 标签焦点向右移动 | |
gp | 标签焦点向左移动 | |
H | buffer焦点左移 | |
L | buffer焦点右移 | |
SPACE+we | 窗口排部由上下变左右 | |
SPACE+wo | 窗口排部由左右变上下 |
4. nvim-tree | ||
---|---|---|
Key | Function | |
n | new新建文件 | |
r | rename重命名文件 | |
c | copy文件 | |
x | cut文件 | |
p | paste粘贴文件 | |
d | delete文件 | |
gn | 复制文件名 | |
gp | 复制文件绝对路径 | |
q | 关闭nvim-tree窗口 | |
CTRL+b | 收起展开的部分 | |
CTRL+t | 在新tab打开文件 | |
b | 跳到父节点 |
5. 编程相关 | ||
---|---|---|
Key | Function | |
5-1. gtags + LeaderF | ||
ALT+. | 函数定义查看 | |
ALT+, | 函数被调用位置 | |
ALT+p | 召回最后的搜索结果 | |
SPACE+js | 变量相关的结果 | |
SPACE+jf | 查找光标所在include文件的路径 | |
SPACE+ji | 显示当前光标所在的include文件被那些文件include | |
CTRL+o | 返回gtags操作之前的位置 | |
CTRL+i | 前进到gtags操作之后的位置 | |
5-2. lsp | ||
J | 变量/函数声明 | |
SPACE+jt | type定义 | |
SPACE+jd | 函数定义 | |
SPACE+jD | 函数声明 | |
SPACE+jr | 变量/函数引用位置 | |
SPACE+jn | 变量/函数重命名 | |
SPACE+j[ | 跳到诊断上一个 | |
SPACE+j] | 跳到诊断下一个 | |
SPACE+jw | 列出所有诊断内容 | |
SPACE+jo | 未知 | |
SPACE+jp | 当前文件的所属的根位置 | |
p | 预览搜索结果 | |
ALT+n预览下翻页 | ||
ALT+m预览上翻页 | ||
5-3. LeaderF和fzf | ||
CTRL+u | 显示当前buf中的所有tag | |
CTRL+e | 打开预览页面CTRL+j下一行 CTRL+k上一行 | |
SPACE+jh | 回顾历史查询 | |
SPACE+jl | 行模式查看整个文件 | |
? | 在当前文件查找某个单词 | |
SPACE+ff | 查找某个文件 | |
SPACE+fg | 查找某个文件属于git管理 | |
SPACE+fh | 查看搜索的历史纪录 | |
fa | 模糊搜索内容 | |
fr | 精确搜索内容 | |
SPACE+fa | 模糊搜索内容 | |
SPACE+fr | 精确搜索内容 | |
SPACE+rg | 全盘模糊搜索内容 | |
Ctrl+o | 横向分屏 | |
Ctrl+e | 竖向分屏 | |
Ctrl+r | 预览结果 | |
预览搜索翻页CTRL+j和CTRL+k |
6. 多光标编辑 | |||
---|---|---|---|
Key | sub-Key | sub-sub-Key | Function |
CTRL+k | 标记当前单词 | ||
CTRL+k | 标记下一个相同单词 | ||
q | 取消标记当前标记的单词 | ||
n | 跳转到下一个相同的单词 | ||
N | 跳转到上一个相同的单词 | ||
I | 插入在词头 | ||
a | 插入在词尾 | ||
d | 删除选中单词 | ||
c | 删除选中单词后写入 | ||
u | 撤销编辑 | ||
k | 取消所有选定 | ||
CTRL+v | 选定区域开始 | ||
CTRL+k | 标记当前选定区域 | ||
v | 如果使用n跳过,可用v划定相同区域后CTRL+k | ||
CTRL+UP | 向上添加光标 | ||
CTRL+DOWN | 向下添加光标 | ||
I | 插入在词头 | ||
i | 插入在当前位置 | ||
A | 插入在词尾 | ||
x | 删除字母 | ||
c c | 删除整行后编辑 | ||
u | 撤销编辑 | ||
j | 选定的行集体向下移动 | ||
k | 选定的行集体向上移动 |
7. tig和lazygit | ||
---|---|---|
Key | Function | |
SPACE+gt | tig | |
SPACE+gT | 当前文件 commit 列表 | |
SPACE+gb | tig blame 当前文件 | |
SPACE+gn | 跳到下一个修改块 | |
SPACE+gp | 跳到上一个修改块 | |
SPACE+gl | 高亮修改块 | |
h | 显示当前修改块内容 | |
SPACE+gg | lazygit | |
SPACE+gf | tig中grep |
8. 使用{}包裹选定内容 | |||
---|---|---|---|
Key | sub-Key | Function | |
CTRL+m | 选定要包裹的内容 | ||
S+{ | 使用{}包裹内容 | ||
S+} | 使用{}包裹内容 | ||
将光标移动到被包裹内容中 | 修改/删除包裹符号 | ||
cs+{ 原符号+( 新符号 | 使用()替换{}包裹内容 | ||
js+{ 待删除的符号 | 删除包裹符号 |
错误代码
gutentags: gtags-cscope job failed, returned: 1
解决步骤
- 添加错误日志追踪功能
let g:gutentags_define_advanced_commands = 1
2.打开运行出错的文件,并命令行打开日志
:GutentagsToggleTrace
会将错误信息打印到:messages中
查看主机global的版本
gtags --version
下载对应的版本,展开tar包
wget https://ftp.gnu.org/pub/gnu/global/global-6.6.4.tar.gz -O Global.tar.gz
tar xzvf Global.tar.gz
cp global-6.6.4/gtags.conf ~/.gtags.conf
旧
bear --libear /usr/lib/x86_64-linux-gnu/bear/libear.so make install
新
bear --library /lib/x86_64-linux-gnu/bear/libexec.so -- make install
:map
:nmap
:vmap
:verbose nmap ???