NeoVim
00 min
Nov 27, 2023
操作
说明
i
在光标左侧插入正文
a
在光标右侧插入正文
o
在光标所在行的下一行增添新行
O
在光标所在行的上一行增添新行
I
在光标所在行的开头插入
A
在光标所在行的末尾插入
 
操作
说明
v
字符移动高亮
V
按行高亮
ctrl + v
按块高亮
 
w包含空格
e当前单词末尾
$至行末尾
0至行头
command:operation + count + motion
(有点晕)
u:撤销前一个command
  • C-r:撤销undo
U:撤销对这行的修改
  • U是个command,能被u撤销
p:paste
c:change
cc:删掉line,并进入Insert Mode
C-g:展示位置
line number + G 到指定行
?从底下开始搜索
C-o 之前的位置,I之后的为位置
% 移动到对应括号
:#,#s/thee/the(g)
%s whole file
gc:prompt to decide
! 操作
:w xxx 当前文件保存为xxx
<>看不懂
r 插入文件 或命令输出
e+a使用起来爽
R
yank
yw
yy
\c
incsearch
输入搜索模式时,每输入一个字符,就自动跳到第一个匹配的结果。
show partial matches for a search phrase
C-w
C-t TAb
直接切文件了,没有stack
i左侧
 
notion image
 
vimrc
vim --version | grep clipboard 查看是否支持粘贴板
Mac改键,反正平常误触也挺烦的

概念

Operators:进行某种文本操作的命令
"c"(更改)、"d"(删除)和"y"(复制,也称为"yank"),"ci("表示"change inner parentheses",意思是更改括号内的文本。
Motions:确定操作符要应用的文本范围的命令
"w"(单词)、"p"(段落),"ap"表示"around paragraph",意思是选择整个段落的文本。
Count:次数
 
将这三个概念结合起来,您可以使用操作符和动作来在模态编辑环境中执行精确的文本编辑操作。例如,"ci("表示您想更改括号内的文本,而"dap"表示删除整个段落的文本。
d2w

VIM操作

move by word: w moves to the start of next word; e moves to the end of the word; and b moves to beginning of the word.
重复输入: 30i- Esc
找char:use and F, e.g. fo finds next o.
3fq 第三个q
找word:* #
% jump to corresponding parentheses or brackets.
Line: 0 $
删除char:当前光标,然后移动到左边
删除模式(带复制)d 模式,按照移动距离
dw deletes the first word on the right side of the cursor
d2e 就会在开头留下一个空格,因为直到单词的最后一个char
粘贴: p
⚠️
To repeat the previous command, just press .
选择模式v
然后开始移动,最后接一个命令
 
To undo previous actions, type: u (lowercase u) To undo all the changes on a line, type: U (capital U) To undo the undos, type: CTRL-R(redo)
:help
 

移动代码

选中代码后:
  1. 上移代码:按 :m '<-2 回车。这将把选定的代码块移动到上面。
  1. 下移代码:按 :m '>+1 回车。这将把选定的代码块移动到下面。
'<'> 是 Vim 选区的标记,代表选区的开始和结束位置。-2+1 是相对于这些位置的偏移,用于确定新的位置。特别的,-2 是因为 Vim 的行数是从 1 开始的,所以需要减 2 才能将代码块移动到上一行;而 +1 则可以将代码块移动到下一行。
gv=gv 是为了保持选区并重新对选区进行缩进。
 
打开多个文件
:ls
上面这个命令将会列出 VIM 打开的所有文件。
:b2
上面的这个命令将会在显示屏上显示第二个文件。
 
分屏打开
vim -On file1 file2 ... filen
 
 

---安装完成之后---
配置文件~/.config/nvim/init.lua
Docker不支持中文
export 和 env
 

包管理器

Lazy
Packer

Mac Terminal操作

  • 将光标移动到行首:control + a
  • 将光标移动到行尾control + e
  • 清除屏幕control + l
  • 搜索以前使用命令:control + r
  • 清除当前行control + u
  • 清除至当前行尾control + k
  • 单词为单位移动option + 方向键

NeoVim好在哪

  • async版本

LSP

C/S 架构

notion image
notion image
nvim内置lsp client

插件用法

tab打开文件夹,enter或o 打开文件
a 创建文件
ctrl+hjkl 切换窗口
tab选择,回车选中
ctrl+b/l 上下移动看信息
vtrl+e取消补全
gcc 单行
选中多行 gc
shift hl 移动tab

 

录制操作

  1. 在normal模式下输入qa(当然也可以输入qb, qc, etc,这里的a, b, c是指寄存器名称,vim会把录制好的宏放在这个寄存器中)
  1. 输入q,结束宏录制。
Vim寄存器
 

Comments