基础配置
- nerdfonts 字体
- git
- iTerm2
基本操作
基本移动
- h j k l
文本操作
- d 删除
- y 复制
- d 删除
- x 剪切
- dw 删除字符
命令行快捷键:
Ctrl+A 行首
Ctrl+E 行尾
Ctrl+W 删除光标前的一个单词
Ctrl+K 删除光标后的文本
Ctrl+U 删除光标前的文本
单词移动
- w
- b
- e
- ge
行内移动
- 0 行首
- ^ 行首非空字符
- $ 行尾
行间移动
4j
向下移动 4 行12k
向上移动 12 行gg
跳转到顶部G
跳转到底部:50
或50G
跳转到第 50 行
撤销和重做
- u 撤销(Undo)
- Ctrl + r 重做(Redo)
分屏
- sh 代表水平分屏(Split Horizontally)
- sv 代表垂直分屏(Split Vertically)
- sc 关闭窗口 (Close)
- so 关闭其他 (Others)
- Alt + h/j/k/l 窗口之间跳转
方向键 光标切换
搜索
/<pattern>
向下搜索模式?<pattern>
向上搜索模式- n 下一个匹配项
- N 上一个匹配项
可视模式移动
- v 可视模式(字符选择)
- V 可视行模式(行选择),使用场景:拷贝/剪切/粘贴多行
- Ctrl+v 可视块模式(块选择),使用场景:添加/删除多行注释
其它移动命令
%
在括号匹配之间跳转}
移动到下一个段落的开头{
移动到上一个段落的开头
其它
- shift+k 查看类模块/函数文档
- so %或 source %
- wqa
nvim 配置结构
~/.config/nvim/init.lua
:Neovim 配置文件入口- 学会如何查看 nvim 的 runtimepath
- nvim 框架 LazyVim keymaps
Options 配置
TODO
快捷键配置
TODO
主题
文件管理
- 打开、关闭目录
e - 焦点切换 Ctrl + w
- 新建文件/目录 a
- 重命名文件/目录 r
- 剪切移动文件/目录 x
- 删除文件/目录 d
- 拷贝文件/目录 y
- 粘贴文件/目录 p
插件管理
插件:lazy.vim
:Lazy
:Lazy install
:Lazy update
:Lazy sync
(相当于 install 和 update)
语法高亮
LSP
- gd
- gI
- gr
- gD
<C-o>
跳转到上一个位置 prev<C-i>
跳转到下一个位置 next
搜索
Telescope
<leader>f + f
或:Telescope find_files
查找文件<leader>f + g
或:Telescope live_grep
查找内容
fzf
# 安装
brew install fzf
# 切换 Git 分支
git checkout $(git branch --all | fzf)
# 搜索文件
find . -type f | fzf
# 搜索 Git 提交记录
git log --oneline --pretty=format:"%d %h %s %ad %an" --date=short --graph | fzf
# 搜索历史命令
history | fzf
ripgrep
TODO
Git 支持
- git log –graph
- git diff
- git blame
- git branch
- git checkout
- git pull
- git push
- git stash
lazygit
安装 lazygit
brew install lazygit
标签页
- 切换标签页
- 关闭标签页
- 关闭其它标签页
- 关闭所有标签页
状态栏
插件:lualine.nvim
首页
插件:[dashboard.nvim]
Tmux
一、基础
理解 Tmux 的三大概念:Session(会话),Window(窗口)和 Pane(面板)
配置文件:$HOME/.config/tmux/tmux.conf
重载配置文件:tmux source $HOME/.config/tmux/tmux.conf
插件管理器:Tmux Plugin Manager
# tmux.conf
# Reset prefix key
unbind C-b
set -g prefix C-Space
bind C-Space send-prefix
# Start windows and panes at 1, not 0
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
run '~/.tmux/plugins/tpm/tpm'
找插件:https://github.com/tmux-plugins/list
二、快捷键
Prefix Key(PK):Ctrl+B
Session
- 创建新会话:
tmux
- 创建自定义名称新会话:
tmux new -s my-session
- 会话更名:PK+$
tmux ls
tmux a
- PK+S
- PK+W
tmux attach -t my-session
Window
- 创建新窗口:PK+C
- 切换窗口:PK+0/1/2 或 PK+N/P
- 关闭窗口:PK+&
Pane
- 左右分屏:PK+%
- 上下分屏:PK+”
- Pane 之间移动光标:PK+方向键 或 PK+Q+0/1/2
- 移动 Pane:PK+{ 和 PK+}
- Pane 缩放:PK+Z
- 关闭 Pane:PK+X
三、参考资料
- Tmux has forever changed the way I write code
- https://tmuxcheatsheet.com/
- https://github.com/tmux/tmux/wiki
- https://www.ruanyifeng.com/blog/2019/10/tmux.html
TODO
- 官网:https://github.com/neovim/neovim/wiki/Installing-Neovim
- 找插件:https://neovimcraft.com/
- LSP:自动代码补全 掘金小册
- VimScript 学习文档:1) Cheatsheet 2) Learn VimScript The Hard Way
- Zero to IDE with LazyVim
- 2024 年 NeoVim Web 开发环境搭建 在这个视频中 devaslife 使用了 LazyVim 作为前端开发的 IDE。另外这是 👉 devaslife 的博客
- https://nvchad.com/
- 自动补全、代码建议